Infrequently Noted

Alex Russell on browsers, standards, and the process of progress.

Comments for On Licensing


Another interesting thing to think about with web software licensing is the Affero GPL. It's a GPL with one additional restriction - if you provide access to the software as a service (for example it's software that responds to requests from web browsers) then you must make the source code available to people who're using the software in that way, just like you would if it were GPLed and your users were running it on their computers.

Too many great changes to GPL software are being locked up on servers and users are being denied software freedom on (what I consider to be) a technicality. Of course, if you're after maximum adoption then the Affero GPL is the last license you want to choose :)

Ian

Hi Alex,

Thanks for this blog post. I also develop my own software project which I hope to release as open source as soon as possible. It even has a few of my custom Dojo widgets! Congrats for the great work on the new 1.0 release. I'm slowly trying to fit it in my brain here.

I wish I would of known half of what you cover in this article when I started, but things aren't so bad in my situation.

I have been working on a project for about four years (ok I'm a turtle, but it's a good project), and the last two years have been implementing and develping that project as an Independant Contractor with no made for hire clauses anywhere to be found. But now, there is some talk of me becoming an employee of the company I contract to. I am concerned that I will loose my rights if I become an employee and that it will keep the project from being released as open source. We are working on a contract at the moment, but I won't sign it until I get this sorted out.

If I become an employee, is getting a CLA from the company enough to protect the rights of future users and allow me to release the project as open source? I noticed your plug: "the Dojo Foundation wants to help young projects avoid the licensing fate of many of the currently popular JavaScript toolkits which didn’t pay enough attention to licensing up-front." That's great!! I will mail you when I have my beta set up for a demo.

I also have setup my own non-profit with a few more goals, but does joining one of these big foundations like apache or dojo really help with the project?

Anyway, Thanks again for the toolkit and the article!

by A Dojo Fan and Developer at
Back with a bit of news,

After deciding to speak with the company who contracts me and openly talking about the entire thing we managed to reach an agreement that is better than I had hoped.

Not only can I retain the rights to my code through any contract changes, including becoming an employee, they have offered to give me CLA to the contributions of two of their employees to my code!

The trade off was that I also will give them a very liberal license to my code to reward them for two years of continued investment and support, pobably AFL or BSD like Dojo.

Now we are just writing it up into legal speak as best we can. The key point for this is a lot of hard work, dedication, and trust. Clearing this up early was a great idea and now we are both much more relaxed about working together on future projects, and not losing our rights to what we are investing in.

by A Dojo Fan and Developer at
My first opensource project was GPL v2. I knew nothing about licensing, so just picked the only licence I'd heard of. I then read a lot and thought about what I wanted my code to do.

HTML.Template was dual licensed under the GPL and Perl Artistic Licence, and libyahoo2 was purely GPLed. Both are development libraries, so the decisions were important.

I wanted anyone to be able to use the templating system in their websites. With libyahoo2, I wanted to make sure that commercial entities couldn't use it, and that not even I could change the licence at a later date. It also meant that I could copy code from other GPLed Y!M clients (like gaim). With many people contributing GPLed code, no one person owns the full code base, and no one can change it.