- Feature Articles
- CodeSOD
- Error'd
- Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Admin
I can read just about anything in a WTF that's posted these days and not bat an eyelid, as there is very little that surprises me any more... however this one cut me deep... I could feel his Josh's pain.
I worked for a particularly large company that was actually the number one website in australia at the time i was working for it that needed a .net Zip application.
I told them about this great fee redistibutable DLL called sharpziplib that they could use and it would do everything that they wanted.
The project lead was very excited, so he told me to send him a site so he could check it out. I got an email the next day asking if we could have a chat about this DLL that I sent him.
He said we couldn't use it because I didn't tell him it was opensource. I was confused, I thought that was THE reason we could use it.
I was wrong, because what I didn't know, but soon found out, was that open source code was full of bugs, was often poorly written and largely underdeveloped because they had no development budget. It was also written in c#, which I had failed to mention, so it wouldn't work in our VB only applications. I tried to reason with him, so he said we'd reach a comprimise, I would redevelope the sharpziplib, in VB.net, and then I would optimise it. He asked me how long it would take to do and I told him a week.
He looked puzzled, he asked, you can actually write a whole ziplibrary in a week? He said he didn't think I could, so he gave me 2 weeks.
Monday morning I download the source for shaprziplib and went to lunch
Tuesday morning I used a converter to convert it to VB.net and compiled it. Then went to lunch
Wednesday I tested that it worked and went to lunch again.
Thursday I wrapped it all up in some nice Company namespaces and went back to lunch
Friday I just went straight to lunch till the following friday when I was due to present my redevelopment.
When I showed the project manager what I had done, and how I was actually glad I had 2 weeks instead of 1, because it took longer than I thought, he gave a wry smile that suggested that "he'd tole me so".
I've since left the company, over a continual stream of similar incidents.
Admin
lomaxx, if the license of that lib is gpl, you probably violated it
very very few people realise the if you use and adjust open source products COMMERCIALLY, you are breaking the license.
some can be _used_ commercially, and just not changed, (i.e. as an API or something), but if you do as you did, and copy the entire thing, then violation has occured.
Admin
Any worthy (project) manager always has a viable (proven) "Plan-B" in their back pocket. When "Plan-A" doesn't pan out - they implement Plan B.
Plan B actually needs to be tested and proven *before* Plan-A gets underway. In this case, Plan-B was the cheap $99.00 DLL that could have been easily tested and put in the "back pocket". Plan-A was the irresitable ( shinny penny ) re-development effort that, had it worked, would have proven it's worth. However, at any point in the deployment of Plan-A, if it failed, the manager could revert back to Plan-B, while safely fixing Plan-A off-line...if he had only thought to do that.
What a stupid, arrogant, stupid, stupid manager. If I only had a shinny penny for every time a manager got sold "a bill of goods" without a backup Plan-B.
Heck, even an egg farmer knows not to BET-THE-FARM on a single rooster.
Admin
From the the site:
Bottom line In plain English this means you can use this library in commercial closed-source applications.
However, this is usualy not the case and so extreme care must be taken. This is one of the reasons, i tend to prefer BSD sytle licenses at the moment.
Admin
IANAL, but IMO it's no problem.
#ziplib (SharpZipLib, formerly NZipLib) is a Zip, GZip, Tar and BZip2 library written entirely in C# for the .NET platform. It is implemented as an assembly (installable in the GAC), and thus can easily be incorporated into other projects (in any .NET language). The creator of #ziplib put it this way: "I've ported the zip library over to C# because I needed gzip/zip compression and I didn't want to use libzip.dll or something like this. I want all in pure C#."
License
The library is released under the GPL with the following exception:
Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination.
As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.
Admin
The thing I learned fast in the Army: It's ALWAYS easier to get forgiveness than permission.
Admin
Many open-source libraries have a license that allows linking to proprietary software. Just look at all the stuff from the Apache Foundation. But of course one should always check the license before including a third-party module to one's software. Proprietary licenses can be full of surprises, too.
Admin
LOL. Funny how budgets works. If the printer runs outta toner before it should... a new cartridge requires a budget over-run authorization. If the printer seems broken, a test cartridge is easily expensed.
Admin
Several times I've ended up saving hours and hours of my own time as a developer by buying the licensed version of a little application for $19.99 or something. My own money, sure, but saving huge amounts of time is typically worth it.
Admin
....have you tried JavaScript?
Admin
I've read sooooo many of these, I just wish y'all would publish the real names of the WTF "legends/guru/top-dog" (read: idiots) and their respective companies. That way, recruiters can make sure those people will never get hired again because I certainly don't want to work with them to give them the opportunity to screw up my work. If nothing else, I think it would just be fun to point and laugh at their stupidity... Alas, you'd worry about lawsuits and stuff, so I guess it will all be just wishful thinking...
Admin
'Cause there are LOTS of people here in the business field using Macs... or Amigas... :s
Admin
WTF ? I was supposed to be quoting the guy who talked about the Mac & Amiga thing...
anyway...
(I have to type "pizza" to be able to post this and I'm actually eating a pizza... (won't tell you what I was doing when I had to type 'batman' though...)
Admin
UANAL, but no problem either
feel free to contact me for further exchange :)
Admin
Deciding to use CR when everyone else in the world already uses LF or CR/LF: Think Differently.
Admin
And Consulting is the art of doing for $30,000 what any idiot can do for $99...
Admin
Taller Programmer: "I say, I say, I say. What's the difference between a runtime and a framework?"
Shorter Programmer: "About 20 megs!" (Waggles cigar, spins bowtie)
- Orchestra sting -
Admin
Admin
I'm not sure which is the bigger WTF here.
Letting the Salesman direct technical development issues when he is not technical.
Letting a breakdown in communications reach a point where the VP does not trust your professional knowledge
Or not knowing that consultancy is that part of being a consultant is if they don't take your advice you tell them formally that the path they want to follow is not your advice and then at a later stage when they screw up you say "that's a pity. Why don't we do it the way I recommended now instead?" which is a not too subtle way of saying "Your an idiot. I told you this would happen but you overruled me on a technical issue I knew more about than you did. Lets let it drop and fix things."
Admin
An IT Consultant has to concern themselves with two things here.
1. They have to produce something that works.
2. Their professional reputation is based on what comes out the other end.
3. Their professional reputation is one of the things that helps generate money for them. If they do a great job for a company, other companies hear about it and so generates business.
If the product is garbage but they formally noted that the company was going against their opinion, the company cannot legally say that they produced a garbage product as, since they didn't ( and of course the consultant recorded the emails / letters on this ), if they say that he did, he can have them in court so fast they wouldn't even know what hit them. He'd have all the evidence and the court / tribunal would hit the company with a large fine (be warned managers, this is the danger with consultants).
This protects the consultant, after all who wants to hire a consultant who is involved repeatedly in garbage products that are his fault since he didn't say not to do it that way or "Your doing it wrong. If you do that you'll cost yourselves more money and time". It is also a source of further business as "Now you've done it wrong, would you like to go back and do it my way which is right?"
Admin
While of course the VP/CTO/Salesman was an idiot in this case, let's not forget that "buy" has its downsides too: you're then at the mercy of that vendor.
ObAnecdote: I worked at a vendor whose product was written in a flavor of 8086 Assembler (this was > 10 years ago) from a vendor who no longer existed. This meant that:
Fortunately the BSA didn't show up, and it DID work on Windows 95, and then another vendor bought them (after I left) and put them out of their misery...
...phsiii
Captcha: genius *again*...is it trying to tell me something?
Admin
Not true: GPL force you to redistribute the source code if you distribute your application. It is safe to use/modify GPL code in any application, be it commercial or not (but most in-house apps are considered commercial apps), even if its source code is closed, as far as it is not distributed in any way.
Captcha: null. Thanks a lot. Really. I'm pleased.
Admin
Where does the GPL distinguish between "commercial' and "non-commercial" use? Isn't that one of the things licenses like QT or mySQL try to address?
(The answer is, it doesn't. Maybe that's why "very very few people realise the if you use and adjust open source products COMMERCIALLY, you are breaking the license." )
Furthermore, very few run time libraries are GPL'd (in fact, I can't think of any)- almost all are released under the LGPL (or some other open source license), which allows linkage to proprietary code.
Admin
$ mkdir o
$ touch o/help
$ ls \o/ \o/help \o/ I am trapped in a cli!
o/help
o/:
help
o/:
help
Admin
"decided to go with a Java-desktop application. The .NET programmers he hired to do this"
Thats a pretty bad WTF in itself. Like hiring German speakers to do the french translation.
Another one you captcha test says null !
Admin
Actually, the more sensible char to use is CR. When you accept raw characters from a tty, you get CR (and the key is "Carriage return", like on a typewriter). Calling it "enter" is a WTF, but that's another story.
Macs have been using CR for as long as I can remember. Recently, there's been a switch to using LF instead. Mostly I'm annoyed that grep/etc don't have options to treat CR as a newline.
The really sad bit is that SMTP/HTTP/FTP/IRC/etc all use CRLF. Supposedly the reason is so it can work with telnet (which is a bit of a WTF protocol in itself).
Using CRLF in text is a real WTF though. Where do you place the cursor at position 1?
Admin
Prejudices against open source software are common... but "Let's rewrite it in VB.NET because we don't use C#."? WTF??? Didn't one of these tools ever notice that you can call C# code from VB.NET just fine (or VB.NET code from C++/CLI or Brainfuck# code from F# or...)? After all, that's a major selling point for .NET - many programming languages, one runtime to bind them all. Some people are so clueless.
What a load of bullcrap! If the GPL disallows commercial use, why didn't Linus Torvalds, Richard Stallman and thousands of others sue the crap out of Red Hat? Mandriva? Novell? IBM? Lots of other companies that are making money off of GNU/Linux?
And if the same even holds for other open source licenses, why does Apple dare to include much of FreeBSD in their commercial, partially closed source, operating system Mac OS X?
In fact, the GPL only mentions the word "commercial" once, in an insubstantial sentence (3c). What this means is that commercial distributions are required to include full machine readable source code or a written offer to the source code (valid for at least three years) for a charge no more than distribution expenses, whereas noncommercial distributions can also opt for merely including a notice where to get the source code from the same source the distributor got it from (i.e. a third party).
Now what would often be a huge problem with a GPL'ed library is that you have to include the source code for your own application that just uses the library. But in this case it's GPL with the so-called library exception, which means you only have to distribute (or include a written offer, see above) the source code for the library itself. Not a big deal if you ask me.
Off the top of my head: GNU readline, the MySQL client libraries and QT. The latter are available for free under GPL. If you want to use them under other terms (i.e. in closed source apps), you have to purchase a license from MySQL (the company) rsp. Trolltech. In the case of MySQL, one more reason to use Postgres. ;o)
I often have a different sentiment, like "Help! I am trapped in a GUI when a Bash one-liner would do!" :-p
Admin
Those libraries are LGPL'd, not GPL'd. (The LGPL is what you refer to above as "GPL with the so-called library exception".)
Admin
I suspect the original Apples used CR, in 1980 (I could be wrong). DOS came later, though CRLF could be from CP/M.
Who knows?
Admin
No, readline and Qt are GPLed. Read the sites.
Admin
I don't have any Steve Ballmer posters in my bedroom, but I have to defend Microsoft, just this once!
At the time MS-DOS opted for CR/LF, it was a logical decision. Because then the DOS terminal would behave like a typical typewriter (typewriters were still in common use back then, mind you). The terms Carriage Return and Line Feed are typewriter jargon, after all. CR would return the cursor to the start of the line, and LF would advance the cursor to the next line, in exact analogy to typewriters.
Also, it is not true that everyone else used LF. Commodore used CR (as Apple would do a few years later). CP/M (DOS was pretty much a CP/M clone, after all) used CR/LF. OS/2 would also use CR/LF, so at least that was no reason for Windows to alter the DOS decision.
And I doubt it was Microsoft's decision, anyway. Probably QDOS already used CR/LF way before Microsoft bought the source code. Arguably, now that typewriters and Commodore are dead, and Apple has finally given in to the Unix side of the force, it would be nice of Microsoft to follow suit. I don't think this is going to happen, however. Programs that I write typically accept LF line endings and silently ignore a preceding CR if there is any. Doesn't make development that much more complicated for me.
Nice article about newline characters
Admin
I don't think so.
Readline is free software, distributed under the terms of the GNU General Public License, version 2. This means that if you want to use Readline in a program that you release or distribute to anyone, the program must be free software and have a GPL-compatible license. If you would like advice on making your license GPL-compatible, contact [email protected].
The Qt Open Source Edition is offered to the Open Source community under Trolltech's Dual Licensing Model. The Open Source Edition is freely available for the development of Open Source software governed by the GNU General Public License (GPL). The Qt Commercial Editions must be used for proprietary, commercial development.
MySQL AB provides its software (database server, connectors, tools) under a number of flexible licenses, designed to meet the usage and distribution requirements of different types of users:
For Open Source Projects:
Admin
haha No kidding!
...in other news, I don't understand why the electricians I hired did such a terrible job installing my toilet! :-)
Admin
In my experience, this is a result of people in managerial roles who are not very good (yet - maybe ever) at their job as a manager. It is far easier to blame IT when something that is developed doesn't work (due to extremely poor management, requirements, stupid dictation of how to develop it, - the list goes on and on), then it is to blame a 3rd party with an already developed product because 1) the money outlay for the 3rd party is more tangible, and 2) the 3rd party as an organization cannot be controlled/manipulated as easily as an internal IT organization can via cry-baby upper-level management that isn't good at their job.
Admin
Admin
Admin
Funny, worked for a company back in the dot matrix printer days and the printer jammed up constantly. Manager wouldn't authorize a tech to come in because it wasn't broken, even though reams of paper were wasted trying to re-feed it. I could see it was just filled with crap. After a frustrating morning I took out a pair of scissors and cut the belt that drove the printer head, thereby 'breaking it'. The manager then called a tech to fix it. the tech cleaned the printer up and it didn't jam up anymore.
Admin
Wrong on all counts! cr/lf is an ANSI STANDARD, and PREDATES CP/M!
The Apple, TRS/80, etc.... Used CR/LF! VMS used LF/CR! As I recall, other DEC systems had CR/LF. I have EVEN been on systems that used only CR! UNIX, to the best of my knowledge, is the ONLY one that uses LF! HECK, even TYPEWRITERS used CR/LF(which is how they got their name. The bar "returned the carriage", and pulled a paul that "fed the line"!
Steve
Admin
Which ANSI standard, by the way?
Admin
This is why you should put your software's 3rd-party dependencies into your version control system. Version control doesn't just give you a fallback when you screw up. It should be the primary way that code is distributed among the members of your coding team. Then they won't have to go to a 3rd party site to get a dependency (and maybe get an incompatible version of it). They just check your application out of the VCS, and the dependencies just come along with it automagically. The same thing goes for your build files, of course.
Admin
According to Wikipedia, the first MacIntosh was introduced in '84, whereas
MS-DOSPC-DOS 1.0 was released in '81. DOS was very rudimentary back then (subdirectories, for example, were introduced in 2.0), but I assume they already had newlines. :-)ammoQ was faster... Let me correct you on another account then. :-)
The LGPL is not the GPL with a linking exception, it is an entirely different license (though with similar implications). Both are used, the GPL with exception for example is used by the above-mentioned sharpziplib and GNU classpath. The LGPL is used by many other libraries.
Admin
The MS-DOS preceding PC-DOS was supposed to be striked through in my previous post, but the forum software swallowed that.
Admin
If I told you what the actual company was, this would make you laugh even more... lets just say they are a joint venture that is half owned by MS.
When i applied for the job, I was told by the recruiter I'd be working with some of the top developers in the country...
For all the people that were worrying about the licensing, I made sure I checked that I wasn't violating it, and from what I could tell, it didn't, however before it went into production, it would have been given a thorough working over from the legal team as we have to submit all external code sources.
Admin
Very very few people realize it because it isn't true.
Admin
Actually, one of the "loopholes" in the GPLv2 is that if you're not distributing the program, you don't have to distribute the source. So if you use GPL'd code for a web service (like what lomaxx did), well, you're not distributing code, so you don't have to give source for your modifications. Note that this has been closed in GPLv3.
captcha: enterprisey
Admin
I have trouble believing this WTF just because I can't imagine someone staying around at a company (even if married with kids) after being spoken to this way.
Admin
I hate to break it to you, but FreeBSD is NOT GPL, and NOT in any way shape or form related to the Free Software Foundation or any of their licenses.
FreeBSD is licensed under the 2 clause BSD license, which means that you can legally include any part of their source code in your program, at no cost, and you don't even need to tell anyone. (Apple tells you they use freeBSD in places, and they contribute code to FreeBSD, but that is because they want to, they do not have to) That is one reason many of us prefer the BSD license.
Admin
Or an old Atari ST. :-)
Admin
Or a Sinclair QL ;-)
Admin
Indeed, beware code generation tools as a subset of 3rd party tools.
Seemingly they provide you with "80% of e.g. your data access and business logic layers". Leaves you tied into a vendor for the project duration, resynching all of the code after schema changes, suites of unused code left lying around. Looks greate from a manager viewpoint (youre getting all those LOC for free!) but very inflexible. Diminishing returns after the first schema change.