October 11th, 2009


BASIC Rights

So, I'm looking over freeBASIC to determine if it meets my needs as a programming language.  There is a problem, and it concerns what exactly I can do with it without violating the license.  And you know, if I'm going on at length like this, there's inconsistencies there.

The compiler itself is distribted under the GPL.  Now, this means nothing for my resulting executables.  As far as the GPL is concerned, the compiler is simply taking my code and making it something the machine can understand.  So things that I make with a GPL'ed compiler don't have to be GPL'ed.  The problem is the runtime library that adds functionality to the executable.

The libraries are under the LGPL.  The first L in LGPL stands for "Lesser" because it decreases some protections for the end user.  It is intended for libraries (the license specifically states this).  The key to everything is the idea of "derivative work", as copyright law puts it.  You take something and add your own spin to it, rewriting it or whatever, it is now a derivative work created by you and whoever's work you started with.  The LGPL allows you to use the library without being forced to license your stuff under the LGPL or GPL.  But there's a catch.  In order to use the library and keep your source closed and use any license you want, you can only USE the library.  This means what is called dynamic linking -- the library is on the host computer.  When your executable starts, it searches the computer for the library and uses that to run.  As far as the LGPL is concerned, you are using the library, not creating a derivative work, and you can conceivably just replace the library with any other of your choice (whether or not it will work is YOUR problem, not the executable's), so you can keep your code closed without violation.

(That's the legal definition.  From an engineering standpoint, you are still creating a derivative work, you're just doing it at runtime.  This is why engineers at least question the LGPL in particular and the GPL in general -- technically, you can't run anything but GPL'ed code and stay legal.  But I digress.)

Incorporating a library into an executable is called static linking.  This is something people like me prefer because it means everything the program needs is right there, the end user doesn't have to worry whether or not they have it on their system.  Now, people using the LGPL are free to include The Exception.  The Exception states that you can link statically and so on, as long as you aren't misrepresenting the library as your own work and are willing to provide the source code for the library, you can license your stuff any way you like and keep it closed.  But it has to have The Exception.  Otherwise, static linking falls under Section 6 of the LGPL, which states that you are creating a derivative work (since the library doesn't normally exist as your executable) and since you can't just replace the library in an executable, you must GPL/LGPL the work.

All the libraries for freeBASIC use the LGPL With Exception.  Except one.

fbxlib.  The graphics library.  The thing that lets you, you know, resize the screen and stuff.

So, anything has to be LGPL'ed or GPL'ed, right?  No.  And here's where it gets confusing.  The author of fbxlib is a guy with the handle of lillo.  He first cooked it up in 2005 at the latest.  That is the earliest the forum mentions any of the issues.  Since then, people have been in contact with him about adding The Exception.  (He hasn't been in hiding, quite a few people chat with him regularly.)  He has stated to the freeBASIC leads that he intended for fbxlib to be used commercially, it's just that he has never explicitly changed the license.  Why?  It's been over four years.  All he has to do is write an official document transfering the rights, and he's done.  But he hasn't, despite everyone telling him about this and asking him to for four years.

People are using freeBASIC to create works that are proprietary, public domain, all kinds of things that violate the licensing requirements of the LGPL.  The LGPL states that enforcement is not the end user's responsibility, it is the responsibility of whoever created the code.  This also means the FSF and the SFLC won't get involved unless the person creating the code bitches.

So, here's what we might be legally looking at (IAANAL:  I Am Absolutely Not A Lawyer) --

1)  The GPL/LPGL allow what is called "dual licensing".  You can release your code under as many different licenses as you want.  There are plenty of libraries that license their stuff under LGPL and Mozilla Public License, or GPL and BSD, or whatever.

2)  Things are automatically copyrighted once they are created and put into a physical form (i.e. published).  Something can only be public domain if the creator explicitly states it is supposed to be public domain (i.e. the PDCurses library).

3)  What lillo is doing is implying a dual license.  There's the LGPL'ed version that he included with freeBASIC, but his lack of enforcement implies instead of state explicitly that, at the very least, The Exception is involved.  He knows people are using his work to create proprietary or public domain derivatives, and all he's said was that he meant for it to be used that way, he hasn't told anyone to stop.

4)  This has been going on for four years.  Legally, he is refusing to mitigate the damages.  If someone is violating your rights, you can just let them do whatever (like with fanfic, where the original author still owns the characters and implicitly allows people to create derivative works).  Now, if the creator decides, for whatever reason, that you can't do whatever, they can stop you no problem.  But as far as damages go, it becomes a problem.  If you have done nothing to stop people from doing this thing you say they can't do (like SCO refusing to reveal what code was stolen), the courts view you as not being harmed that much, and they will lessen any remedy you seek.  There are enough people using fbxlib for whatever they want that, as long as lillo doesn't say "Stop it!", it is implied that they can continue doing what they are, and if he suddenly demands some sort of restitution (i.e. demanding the projects be LGPL'ed), people have an excellent chance of not having to do it, since all action and evidence to date says they were not violating his wishes in the least, he should have said something earlier.

So, the practical side is a lot different from what the license states.  Certainly enough that, if anything ever comes down, people can refuse to Open Source their stuff.  But just because people CAN get away with it doesn't mean they SHOULD.  I know what the license says, what it means, and there is still that monolithic barrier in front of me, even though just about everybody is saying, "Dude, just go around it.  Nothing's going to happen."  I would still be living with the knowledge that I am violating the LGPL.  Or maybe I'm not, due to the dual licensing and implied Exception.  But there's still the License itself....

I would be fine using it, but only if it doesn't make me a hypocrite.  I'm trying to figure out what to do next.

A Shooter Is Also A Stiff Drink...And Boy, Do I Need One Now....

The Jim Shooter/Valiant saga just got a lot messier.

Bleeding Cool got its mitts on a copy of the lawsuit filed by Valiant against Shooter, and it's a total eye-opener.  First of all, according to the filing, Shooter was the actual Editor In Chief and an officer of Valiant from December 2008 to July 2009.  NO ONE IN THE INDUSTRY KNEW THIS.  The company was planning to completely relaunch the Valiant line-up in 2010, books, games, toys, movies, etc.  By June 30, 2009, there was a hammered out agreement between Classic Media, which owns the rights to Turok, Solar, and Magnus, and Valiant to license their stuff.  Ten days later, Classic told Valiant there was a rival bid from Dark Horse for the three titles, and that Shooter was to be the writer.  Valiant asked Shooter to write a letter saying he wasn't part of a Dark Horse project.  Five days later, Shooter got his next paycheck, then refused to write the letter.  The next day, he resigned from Valiant.  Nine days later at the San Diego Con, Dark Horse made it's plans official.  (Yes, this doesn't look good for Shooter, but it also puts Dark Horse in a particularly bad light.)

Valiant wants $3 mil, all salary and perks back, and interest.  Wow.  No wonder people think you can be rich working in comics.

I will wait for the response from Shooter's lawyers, but I have to say, it doesn't look good.  Shooter tends to run off at the mouth quite often.  The comics industry is an old boy network (I believe this is why the Image creators are so looked down on, because they bucked the system and got away with it instead of perpetuating it).  Shooter was one of the insiders until he started padding his resume with the launch of Defiant.  Supposedly, a friend of his is saying in forums that Shooter was subjected to harsh working conditions, like Valiant not letting him go see a doctor when he was sick (I KNOW that can't be true, because the employer would be looking at an All-Time Grand Champion Hall Of Famer lawsuit.  This is why, if you come to work sick, they will force you to go home or to a doctor.  It's to keep you from twisting it into, "I wanted to see a doctor, but they wouldn't let me.")

I know better than to blindly trust a coporation.  But unless Shooter has a really good story and can back it up, the filing and the timing of everything...well, let's just say Rob Liefeld may no longer be the biggest douche in comics anymore.