arthur-e / Wicket

A modest library for moving between Well-Known Text (WKT) and various framework geometries
https://arthur-e.github.io/Wicket/
Other
586 stars 226 forks source link

Licensing #68

Closed nsoft closed 5 years ago

nsoft commented 9 years ago

It's nice that you've been explicit about your license, but your choice of license has more or less ruined my day. :( I was so excited about such a neat library, played around with your demo web site. Your site was cool, and the mode of integration (WKT) made great sense, and happens to jibe perfectly with spacial search in Solr, so I told my client I had a likely solution, and even wrote some code to produce WKT formatted shapes (not that much work, but an hour or two), and then... I go to download your library and start integrating it and I see what I missed... it's GPL :( :( :( :( :(.

It might be that those who are lawyers and experts can figure out if the way I want to use it is legal, but I don't have money to pay lawyers, especially not ones who have enough clue about programing, javascript and GPL to be useful. Could you please consider releasing this under a license that is usable. (such as the BSD style license for OpenClimateGIS?)

It's totally unclear (to me let alone my client) if calling your code constitutes "linking" in the javascript context, and the issue of the browser interpreters running it and whether calling it from events such as a window resize event is linking it to the browser..... etc. etc.

The big problem is that the GPL tries to draw lines in muddy icky gooey grey areas, and nobody can be sure if the lines are being crossed or not (without spending many thousands of dollars to figure out if they can use the supposedly "free" software). Putting GPL on your code makes it even less usable than proprietary software (for which a known fee is often stated and can usually be paid).

If you are morally opposed to folks doing any programming that makes money and only wish to work towards an unobtainable utopia that's fine too. You have that right of course. In that case it would be considerate to at least put "This library is GPL V3" on your demo page where it can't be easily missed so people don't waste time considering wicket for purposes you disallow.

akuckartz commented 9 years ago

@nsoft Please do not spread FUD about the GPL. It generally is possible to understand the implications of the GPL without asking a lawyer.

arthur-e commented 9 years ago

Hi @nsoft, thanks for your comments. In general, I would refer anyone with questions about the GPL to this excellent FAQ by the Free Software Foundation (FSF). My thoughts:

Could you please consider releasing this under a license that is usable. (such as the BSD style license for OpenClimateGIS?)

I have been asked multiple times to consider relicensing Wicket under a commercial use-enabling license. My knee-jerk answer comes from the FSF FAQ: Releasing software under the GPL helps to ensure that free software alternatives remain useful and viable by helping free software projects to compete with propietary software.

It's totally unclear (to me let alone my client) if calling your code constitutes "linking" in the javascript context, and the issue of the browser interpreters running it and whether calling it from events such as a window resize event is linking it to the browser..... etc. etc.

I sympathize with your confusion. Again the FSF FAQ is a useful and comprehensive resource for understanding the GPL. There are, in fact, options for using GPL code in a proprietary system. That said, I can imagine that your intended use case is not one of them (i.e., Wicket would be tightly bound in or otherwise need to be bundled with the software you're produceing).

The big problem is that the GPL tries to draw lines in muddy icky gooey grey areas, and nobody can be sure if the lines are being crossed or not...

I disagree with this picture. I think the GPL was crafted specifically to favor and give advantage to free software. The implications of this are made clear in another FSF missive: "Why you shouldn't use [a more permissive license] for your next library."

In that case it would be considerate to at least put "This library is GPL V3" on your demo page...

The README very clearly states this, near the top, the license under which the software is distributed. I don't feel it is necessary to put this on the demo site because people shouldn't assume they can use just any software before checking the license.

If you are morally opposed to folks doing any programming that makes money and only wish to work towards an unobtainable utopia that's fine too.

Please don't paint with me broad strokes based solely on my choice of a software license. For the record, I am not opposed to people making money. There are actually several highly profitable business models built entirely around open-source software (1, 2).


In all honesty, I have been wondering whether the GPLv3 is still suitable for Wicket. I share your concerns about restrictions against commerical use; concerns that have arisen around other licenses such as the CC BY-NC family of licenses. As Open Access Oxford describes, this kind of a license could "prevent use within the public and non-profit sectors as well." However, I'm also not comfortable relicensing it at this point without input from all of the contributors, some of whom may have contributed their time and skill to improving Wicket specifically because of its license. I welcome a discussion on this topic.

In the meantime, you might consider using one of the following libraries, which are similar to Wicket and licensed in a way that would be compatible with your use case:

fsparv commented 9 years ago

Hi @arthur-e, I have witnessed (and been forced to oversee) a multi-man year effort to remove LGPL code from a product due to the opinion of their lawyers that it conflicted with the warranty for the product. I may be a bit jaded WRT GPL by that very unpleasant experience. Contrary to what @akuckartz claims, interpreting the GPL can be very subtle.

There are of course many views on "free" and how it applies to software. The copy-left concept was over-all beneficial for the world of software, in that it raised awareness of licensing in general, and let to a panoply of possible licenses. It is however very cumbersome for any use outside the "competing realm of free software" (my term, though I think I have heard it used elsewhere) which is of course exactly it's intent. It was explicitly crafted to prevent "selling it to a software-house" 1 as had happened with an early version of emacs.

I was shocked to find GPL applied to a JavaScript library because JavaScript is very often distributed with the rest of the assets for a site, and I have a lot of trouble imagining a use case where one doesn't link with the code to do things like provide it data, or use it to to redraw on an event... etc.

My error in not checking the license is of course exactly as you say, my error. I don't think I've seen a pure GPL JavaScript library in several years... so I've gotten complacent with respect to JavaScript libraries. I check java and other languages up front more often.

I hadn't noticed that you had so many contributors. That's another difficulty with this license. As you point out you have something of a moral obligation to consider their views. If they have not explicitly assigned you copyright to their contributions, perhaps you even have a legal obligation to obtain their permission, remove their code or have someone clean-room a replacement.

I have in fact already coded a partial solution using the parser from terraformer. Thank you for the links.

I do think if you want to use GPL, you should avoid enticing pages that don't make clear the licensing just as a common courtesy. You will repel people who are averse to the GPL and attract people who are friendly to it. If that seems like a burden then you have indeed chosen the wrong license. If you want to wear that badge, wear it proudly.

akuckartz commented 9 years ago

I have witnessed (and been forced to oversee) a multi-man year effort to remove LGPL code from a product due to the opinion of their lawyers...

@fsparv Replacing lawyers might have been the better option... But I do not know enough details to decide that.

I may be a bit jaded WRT GPL by that very unpleasant experience.

Again: Depending on the details it perhaps would have influenced my opinion regarding certain lawyers...

I was shocked to find GPL applied to a JavaScript library

Yes, that is very unusual.

fsparv commented 9 years ago

@akuckartz Evidently they felt that in combination, the LGPL and the warranty obligated us to support and provide fixes for the LGPL software. If true, that would have clearly been a problem. I am not a lawyer, so maybe they were right, maybe they were wrong, but that's how it went down. At the time I actually suggested that it might be far cheaper to fix the warranty rather than the software, but all software at the company came with the same warranty, and while we were one of the bigger projects, we were not big enough to "wag the dog".

deeg commented 8 years ago

I also wish this was MIT or Apache. @arthur-e, have you had any change of heart on changing the license?

peterennis commented 7 years ago

I think an option to license the library as LGPL will suit most free/open and commercial/closed projects, with the understanding that the lawyers and warranty case is more the exception for big companies with legal budgets.

deeg commented 7 years ago

If you are looking for a library with a better license I suggest looking at https://github.com/Esri/terraformer-wkt-parser

arthur-e commented 5 years ago

As I have indicated, I don't have the unilateral authority to change the license because multiple contributors are implicated in that decision.