Skip to content

Comment on Kendo UI Coreparent

Comments

I prefer a library with Apache2 over GPLv3 even with less features, because I can use it everywhere. More use --> more contributions.

Commercial interest in a library makes it more appealing for me, because it means there is money for long term development/maintenance, and I think it's much more likely that it will be not abandoned compared to an alternative open source project without commercial interest in it. Ok, jquery UI is huge and it will not go away, but if I want to go with a library similar to Kendo, I would choose Kendo over that!

I can't even wrap my head around why someone would care about fully permissive licenses over GPL for front end JavaScript libraries, everyone gets access to your source when you serve it to them anyway.

Not necessarily. There are many rich client applications (say, for instance, an in-browser multimedia editor or webmail client) whose JS code might be nontrivial and distributed only in minified/obfuscated form, for the company to maintain a competitive advantage over imitators. In that case, those companies would not want to use GPL'ed JS libraries, since they would then be required to provide the JS source code of the entire rest of their client in unminified form.

Also, there are statements like these, from the primary developer of Ext.js which went GPL for a while a few years ago:

Suppose you have an index.php that includes Ext JS. According to the FSF, in that case index.php would be also under GPL since it is using ext. Since it must be GPL, it's source must be distributed. Since it is GPL, the "viral" effect of GPL is now in effect and any thing that uses index.php (if anything) on the serverside would also fall under the GPL. (Note: Note this is a pretty gray area)

However, this is the exact opposite of what the FSF's FAQ on the GPL actually says.

A company is running a modified version of a GPL'ed program on a web site. Does the GPL say they must release their modified sources? (#UnreleasedMods)
The GPL permits anyone to make a modified version and use it without ever distributing it to others. What this company is doing is a special case of that. Therefore, the company does not have to release the modified sources. It is essential for people to have the freedom to make modifications and use them privately, without ever publishing those modifications. However, putting the program on a server machine for the public to talk to is hardly “private” use, so it would be legitimate to require release of the source code in that special case. Developers who wish to address this might want to use the GNU Affero GPL for programs designed for network server use.

Now, if I took these two passages to my corporate lawyer and asked him whether we should use Ext.js with closed-source server-side software even if it might open us up to a lawsuit from Ext.js due to their interpretation of the contract, he would take one look at me and smack me on the head for suggesting that we open ourselves up to something like that.

EDIT: Sources.

https://www.gnu.org/licenses/gpl-faq.html#UnreleasedMods

http://www.sencha.com/forum/showthread.php?33096-License-Cha...

I think I will shoot the EFF an email asking for an update on that now that GPL3 is trying to accomplish the same thing as the Affero license (anti-Tivoization). That '#UnreleasedMods' section appears to have been written for GPL2.

Please let HN know if you learn anything! There's so much FUD in this space, it's very difficult to know what one can use safely.

...because people are interested in using this code in projects, and you can expect legal action if you use unlicensed code in your project, particularly if it's a commercial project?

  everyone gets access to your source when you serve it to them anyway.
This means it's also very easy for license-holders to see and prove that you're using their code in an unlicensed fashion.

Legally, the minified form is considered the "executable" form, not source code form, with respect to javascript (at least with respect to the MPL-2.0 which enumerates this in the license or possible the FAQ about the license. I'm not certain about the GPL).

This means that technically, with a copyleft license that isn't the MPL-2.0, you need to make available the option to get your javascript, not just the copyleft libraries you build upon, in unminified source code form.

At the end of the day, the MPL is a great license because it balances business needs with the needs of the common. The only reason for businesses to dislike it is because it comes with a slightly higher cost in the form of the burden to provide the original source to the MPL parts or let the end user know how to acquire a copy. This is a pretty minimal engineering cost that shouldn't be much more than an hours worth of labor unless you modify the MPL-ed source and need to make your modified version available. Even then, it shouldn't be more than a day or two of labor if you know what you're doing. You just need to make sure that your build system uploads the MPLed version somewhere or your MPLed modified source is available somewhere like github and your minified code gives people a link to the place where the unminified MPL code lives.

Access to source != legal rights to use that source. You couldn't, for example, use GMail's front-end in your own product, even if you could decipher it. If GMail used GPLed source code, you could.

It doesn't matter so much for websites and small apps, but for complex apps it does start to matter.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.