GPL Violation



Dear Lazyweb,

Someone brought this to my attention recently. I don’t care much for attribution, but he’s stripped the original copyright message and even attached his own terms. I’m officially peeved.

Update: And now, another!

How would you deal with a GPL violation?

OpenMoko



A couple of months ago, when apple announced its iphone, I happened to read about a relatively young project to free up the mobile phone, albeit in the form of an incomplete comparison between two phones which weren’t available yet. While the iphone was cool and exciting and apple could be relied upon to come up with a tightly integrated phone with a classy user interface, the restrictions on third party applications and the closed nature meant that you couldn’t conjure up your own apps and scripts. The vendor specific enhanced features was also a big turn off. The notion of an open smart phone was extremely exciting.

Recently, I attended a presentation on OpenMoko (Open Mobile Kommunikations), the project to create a completely open mobile phone platform. Sean Moss-Pultz, the project lead spoke on the motivation behind the project and the business model while Harald Welte went into technical details and gave a demo. It was most informative. An open phone means a lot more than just open source and free upgrades.

Phones have always been a very restrictive platform. The margins being wafer thin, a manufacturer needs to sell millions of units to be profitable. Its in their interests to encourage phone upgrades. One important motivation behind OpenMoko was to reduce the rate at which phones are rendered obsolete. According to Sean, hardware undergoes fewer changes than software so traditionally one ended up upgrading a phone where a software upgrade would suffice.

Of course, FIC has plans to benefit from OpenMoko. Sean mentioned that a major part of the manufacturing cost was software licenses, hence they benefit from free software. FIC also has a few companies interested in innovative uses for OpenMoko based devices. Carriers too would benefit from an increase in ARPU due to increased data usage, reduction in SAC and churn and the possibility of offering value added services such as data backup, etc.

The phone itself follows a simple philosophy, build a phone with great hardware and basic software (dialer, contacts, SMS, browser, drivers for bluetooth, wifi, gps and gsm, etc.). OpenMoko would have a apt like package manager system which would help users install additional applications for their tastes. Applications themselves could be either OpenMoko certified or community driven as in any desktop linux distribution operating system. Thats not all, an open phone allows unlimited flexibility that we’ve been trained to think impossible. For example, when a wifi or bluetooth network is available one could switch to (cheaper) VOIP calls and IM instead of SMS.

For a power user of course, the phone throws up endless possibilities. Some of them are so simple, yet would change the way you look at phones –

  • GPS aware profiles – automatically switch phone profiles based on location
  • ACLs, any number not in contacts can be made to pass through a set of access control rules before the call is accepted
  • Phone Tracking

More interesting ideas are here and elsewhere in the wiki. The first OpenMoko phone Neo1973 is coming real soon! The only question is to see if one should wait for the phase 2 device (which has a faster CPU and wifi) or if FIC comes up with an interesting upgrade deal.

Choose Your GPL



Following some recent discussions on GPL versions, I did a bit of reading. The GPL clause under question is this -

Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and “any later version”, you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.

This means -

  • As a developer, if you do not specify the version of the GPL under which you release your code, a derivative work can be released under any version of the GPL
  • If you specify “version x.y of the License, or (at your option) any later version“, a derivative work can be released under a later version of the GPL

Now, the GPL also says:

GNU GENERAL PUBLIC LICENSE
Version 2, June 1991

Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

What does this mean? Theoritically, if you’d released a copy of your code under “version x.y of the License, or (at your option) any later version“, someday it might just become re-destributable under completely different terms.

Now, if you’ve released code without mentioning a specific version of the GPL, you can’t change the license (of code thus released) to a specific version of the GPL. As the original author of the code, you do have the option of forking a copy of your work, and releasing it under a specific version of the GPL.If your work involves other contributors, all of them will have to be party to this decision. IANAL.

Repeat after me – “I will choose a specific GPL version“.

Open Source Considerations



Recently, I attended a discussion on opensource and the dangers it presented to the big corporates. It was conducted by a big corporate lawyer and I don’t necessarily agree with all that was said, nevertheless, it was an eye opener.

In an ideal world, opensource / free software works perfectly. (I don’t subscribe to the free software ideology BTW). Somebody starts a great project and puts it up for the world to use. All the great hackers see the code, fix the bad, better the good and eventually you have a great piece of software. This might be over-simplification of the process, but in most cases, it works just fine.

The complications arise when a rogue contributor contributes copyrighted code into an opensource project. Now, anybody who uses this code becomes liable to copyright violation lawsuits from the original (or subsequent) owner(s) of the code.

Of course, what becomes of the lawsuit depends on whether or not the actual similarity and theft of the code can be proved. It might be pure speculation or co-incidence. On the other hand, for instance, it might be proved that the rogue contributor had access to the original copyrighted code as a former employee.

I don’t know of a lawsuit that succeeded like this, but it is a definite possibility. What makes matters worse is that companies like Microsoft, when they pitch themselves against opensource software, offer their customers complete protection against any liability that arises out of use of Microsoft products including copyright violation lawsuits.

To counter this, a similar protection is being offered for the use of opensource products through the OSI initiative, backed by companies such as IBM.

The solution that I liked was that used by projects like Apache. They make contributors acknowledge that they are the sole owners of the code and the code doesn’t violate any copyrights before accepting it into the project.