Tuesday 22 January 2008

gpl vs startups

This started out as a forum post but got moved here when I started ranting (these are twak's opinions and not those of ShortFuze or Bill Gates):

Someone pointed out that the Physics Tracker software is very useful for video work. Wouldn't it be great to integrate it into Moviestorm (so we can capture simple movements from video)? Its in the Java language, it would take an afternoon's work to get tech demo working, so why don't we?

Ah yes, the General Public License. The Physics Tracker source code is released under the GPL, a popular OpenSource license. One of it's terms is that if you release software that uses GPL'd source code, you must also release your source code under the GPL. In this way it ensures that nasty big companies can't use your work in their product without also giving away the product. In the big scheme of things this is important for several reasons:
  • You know what your application is doing - if you want, you can go and find out why the operating system crashes when you type "con/con" on the command line.
  • In the future you will always be able to read your old work. Some versions of Word stopped you opening old files (presumably to force old users to upgrade), this wouldn't happen with OpenSource as you could write your own solution to the problem.
  • Commercial companies can't just steal your work, make minor improvements and sell it on.
Apparently Dave and Matt did try to drum up some enthusiasm for an entirely open source Moviestorm (it was called Machinimascope back then) , but no one wanted to help. So they turned to investors for funding to do it themselves. We can't release Storm's source code as it would remove the need to get Moviestorm and its content from ShortFuze. This wouldn't be in our investor's interests and so Moviestorm wouldn't happen (I for one would still be in bed).

But there are alternative open source licenses (BSD, Apache, LGPL...) that do not require the release of the source code and these have been vital to getting Moviestorm where it is today. Our wonderful HTML renderer, FlyingSaucer, is one example. It would have taken us 6 months to build our own, but we where able to plug Saucer in quickly and so we where able to have nicely rendered help files within Storm that afternoon.

So it seems that the existence of the GPL damages startup companies. While OpenSource is great at re-making applications, only commercial companies (and in particular startups) seem to have the time, energy and coordination to break into new territory. Visicalc, WindowsXerox Star/Mac Lisa and Photoshop are all examples of ideas that became popular commercially, and once the risky work was done, ported to OpenSource (as OpenOffice, linux/KDE and GIMP).

So is it fair that the GPL doesn't give back to the proving ground of new ideas, the commercial world? Answers on a postcard.


johnnie said...

Your flamebait tag was successful. Prepare to be rebuked, sir.

The purpose of open-source software is not to provide code that a third party can exploit for free. OSS puts control of software into the hands of the individual. It means, as you correctly stated, that you know what a software application is doing and how it's doing it. You're free to add to or alter a piece of software to make it better suit your personal needs. It also means that you can (and should) share those changes with the world in case someone else finds them useful. An open-source license does not necessarily mean that the source code or the resultant software is commercially exploitable.

Short Fuze Ltd is not an individual, but a commercial entity. I'm not sure why you feel that we should be able to incorporate Physics Tracker or any other piece of source code without paying for it. Some open-source software is licenced in such a way that one can do precisely this, of course, but the point I'm making is that open-source does not automatically equate to "free". We're veering into the territory of the old "free as in speech not as in beer" adage now, but the principal is sound.

At the other end of the scale, plenty of software has been released for which no charge is made (be the end-user commercial or not), but which is closed-source and fully intended to remain so.

Often in the FOSS world one will encounter software that is free as in both speech and beer, but not always. The GPL is an example of a licence that provides for one aspect and legislates against the other. I don't accept your implication that it's inherently flawed because of that.

Also, linux with KDE is not a port of Windows! I won't deny that the KDE GUI has borrowed heavily from the Windows GUI, just as Windows continues to borrow from KDE, Gnome and MacOS; but the core of KDE (and the way that KDE integrates with the underlying OS) is in almost complete opposition to any w32 implementation. Nor is the GIMP a port of Photoshop (although it was certainly an almost-direct clone in the early stages of its development).

The Visicalc/OOo Calc example I have less defence against. That's a blatant clone :-) (It should be noted, though, that there's a big difference between porting an application and cloning an application.)

twak said...

I think the point of the post is that if you are considering applying an opensource license to your code you should consider a BSD-like license over the GPL license if you want to help small, dynamic startups.

I am undo no illusions that open source developers are required to work for shortfuze ;)

The product comparisons are to point out that most of the technology we use today was popularized by commercial companies.

The opensource development model (or universities) rarely have the resources or business/marketing know-how to make a popular, polished & competitive product in the first place.

Matt Kelland said...

There are two issues here. Firstly, do we think we should be able to use other people's code for free and stick it into Moviestorm? Well, if it's offered, great, let's use it. If we have to pay for code or write it ourselves, so be it. Them's the commercial realities.

On the other hand, we often get requests from users who think we should just incorporate some piece of OpenSource software into Moviestorm. Sadly, we can't always do that, and it's worth making clear that it's sometimes solely down to the specific licence terms. GPL is a particularly problematic one for us, and if something is GPL, then as a commercial company, we just can't touch it, no matter how much we, or our users, may want to.

As in, yes, it would only take an afternoon to get Physics Tracker working, and yes, it would be great, but because it's under GPL it would wreck our business model, so that's why we're not going to do it.

crazyscot said...

You say that the GPL prevents companies from selling work on. That's not entirely true; they can supply software for a fee, like they always used to - but if the work happens to include GPL code, then they have to comply with the license terms, meaning amongst other things that they can't restrict your rights to pass the software on, and that they have to make the source code available.

Of course, this does mean that simply selling GPL software isn't a terribly viable business model on its own, such a company would really have to find some other value-add. (But who am I to stop you, if you want to pay me $100 to supply you a DVD containing useful and reliable software?) Also, the GPL tends to give corporate lawyers the screaming heebie jeebies...

Sparks said...

Does the GPL hurt startups by preventing them using GPL'd code with and not releasing the changes back to the community? Simply put, yes, it does - in the same way that my not working for all of those startups for free in my spare time is hurting them. Because that's precisely what you're asking for. It's a rather first-order example of flamebait really.

johnnie said...

*applauds sparks' comment*