Laverna / laverna

Laverna is a JavaScript note taking application with Markdown editor and encryption support. Consider it like open source alternative to Evernote.
https://laverna.cc/index.html
Mozilla Public License 2.0
9.19k stars 802 forks source link

License Laverna under the AGPL #194

Closed pquentin closed 8 years ago

pquentin commented 9 years ago

Was the GPLv3 license chosen on purpose? AGPL is recommended for web apps as simply hosting Laverna wouldn't trigger the copyleft provisions.

http://en.wikipedia.org/wiki/Affero_General_Public_License

howardroark2018 commented 9 years ago

I personally recommend strongly staying away from AGPL though, and that's not without a lot of fair reasons. The best license for an app that has 'Open Source' at the heart of its feature set, should definitely consider truly open licenses like the BSD or MIT or even Apache 2.0.

pquentin commented 9 years ago

Relicensing from GPLv3 to AGPL would be simpler, though.

githubdbes1 commented 9 years ago

I'm also interested in understanding the reasoning that motivated choosing the GPLv3. I would have choosen the AGPL.

wwebfor commented 9 years ago

We did not see any difference when we were choosing the license. So how can we relicense the app? And what license would be better? I see that some of you think BSD is better, some - AGPL.

pquentin commented 9 years ago

@wwebfor See http://choosealicense.com/ - the choice depends on what "freedom" you care about.

The only difference between the GPL and the AGPL is that network use is distribution under the AGPL. So it preserves the "spirit of the GPL" for web sites and web apps. Otherwise someone can fork laverna and make substantial changes without redistributing them.

Relicensing won't affect the license of past releases. To relicense the code, you need to hold the copyright on it. Even if you don't want to relicense the project, I believe that you can't tell that the contributions were done under the GPL. Which is why some projects require copyright assignments for contributions of more than a few lines.

However, I am not a layer, and the above could be completely wrong.

githubdbes1 commented 9 years ago

wwebfor wrote:

And what license would be better?

My guess is that you want the AGPL. That's assuming you understand the difference between a BSD and GPL license. Many folks who understand that basic difference and do not dig deeper will just use the latest version of the GPL and assume they are covered when in fact they really want the AGPL. FWIW, the FSF recommends using the AGPL "for any software which will commonly be run over a network."

howardroark2018 commented 9 years ago

I'm really surprised at whatever arguments are being put on here. One of them confirms that whatever has been stated by him, could very well be completely wrong. The other one is quite excited to abruptly enter in the discussion with a couple of 'Guesses' and 'assumptions'. Well, where are the facts, I wonder. And the differences and consequesnces are plainly missing. However, I would really like to take up some time and contribute my own research regarding these issues.

Top 10 Reasons Why An MIT/BSD license is Much Better Than a GPL/AGPL license

There are a lot of reasons for an individual developer, a user, a company or an organization to use a software under the MIT/BSD license instead of adopting a similar software with the GPL license.

Below, I am listing some of the major points, which, according to me, end up being the deal breaker for a lot of would-be-customers; thus potentially hampering the overall growth potential of the core open source project/software/program as a whole.

Note: All these points have been thoroughly researched by me in the last few months and thus have the credibility of being unusually accurate and factual, and therefore, consists of only a few (or rather minimal) personal opinionated viewpoints. Also, I have written the whole stuff as simply as I could, so that even a layman (or rather a normal person) could understand everything, and help make an informed decision.

MY INTENTIONS:

This Project is one unique and rare initiative towards developing an extraordinary note making application as an alternative to Evernote, with an additional USP of being Free & open source thereby promising its users 100% privacy and protection. I have been a fan and a poweruser of evernote since ages and lately, I have realized the pitfalls of using evernote as a part & parcel of my professional life. Laverna is a project which promises the best of both worlds, ie; Simplicity, privacy as well as complete security & freedom as regards all my data and the software itself. It's all of this, that finally convinced me to switch & today, I host my very own server with laverna and am Quite happy with it. I want this wonderful initiative to grow as much as possible and reach as many people/platforms/users as possible. Most importantly, I do not want to see it ('Laverna') suffer, in the hands of the GPL/AGPL licensing. Thus, I am here to present this manifesto, so as to convince the wonderful developers of 'Laverna', of what I understand to be much more beneficial to this project in the long term.

1. Since a couple of months, I have been using 'Laverna' as a common app (For internal Note Taking & Research) inside my own company and it's been a great journey so far. Now, A very basic reason for businesses to avoid the use of open source softwares/programs is the un-necessary hassle of going through a lengthy license/terms & conditions document which is included with the software/codebase. These needs, often result in hiring special law firms to simplify the terms of the license while also examining any kind of loopholes which might make a dent in the execution of their project, in the future. Normally, a single usual license document spans in the range of approximately, at least 1000 words, full with industry jargons, which is extremely difficult for a normal person (who is not a lawyer) to comprehend. And, GPL is considered as one of the lengthiest and most complicated licenses in the world of open source.

2. In contrast to the complicated and lengthy GPL/AGPL copyleft license , the MIT license is considered to be one of the easiest and shortest licensing systems in the world, which only spans only onto a quarter of an A4 paper sheet. This simplicity makes MIT licensing much more easier for a normal person to comprehend and understand, without hiring a special lawyer or even wasting a lot of time in trying to figure out the meaning & implications of using a software, due to an overly lengthy & complex licensing system that is The GPL/AGPL.

3. Enterprises, Entrepreneurs, and small/large businesses, including almost everyone else who could possibly be the end user of the concerned software project; need to be able to deploy the software to a wide range of platforms and operating systems. Covering a wide range of platforms, specially the biggest ones, makes it easier for the company or organization to make the most out of their software, simply by making it accessible to a wide range of people, irrespective of whatever platform they might use to access the software. Recently the rise of B.Y.O.D (Bring Your Own Device) in enterprises / organizations have made it essential for companies to make their primary softwares/programs accessible to all major platforms in the global market. Some of the most popular platforms include Apple’s iOS (iPad, iPod, iPhone), Apple’s Macintosh, Microsoft’s Windows 8, and Google’s Android. Now, the problem comes here: GPL/AGPL licenses have been completely banned by both Apple and Microsoft as regards their mobile platforms. Apple has strictly stated in their terms & conditions licensing agreement that, a GPL license (Including all other copyleft licenses like AGPL ) is in-compatible with iOS’s terms & conditions , and thus this has resulted in the rejection of many world class famous softwares/apps, from Apple’s App Store; two of them being —VLC Media Player, —Mozilla Firefox. The same is true with the latest version of Windows 8.1 (For the windows App Store). An article on LifeHacker.com said it best after the VLC media player was pulled off the iOS app Store, by Apple:

"We were pretty excited when multi-format video player VLC dropped for iOS, but it looks like the sun has already set on that glorious endeavor. Just as we'd heard it might, VLC has been removed from the App Store. It was decided that the the DRM in the App Store violated the GNU public license, thus resulting in the removal of the app from the App Store. We're not sure we buy this interpretation of the GPL, and it doesn't quite make sense that it takes what was a completely free and easily available app away from millions of users. Worse, it doesn't set the best precedent for other open source projects, especially with the Mac App Store having similar DRM features. We hope you all grabbed your copy while you had a chance. " ---- Source: LifeHacker.com (*1)

Thus, the exclusion of 3 of the world’s biggest mobile platforms as well as Apple's desktop based Mac OS-App Store for all the GPL based softwares makes the software product extremely limited as regards its deployment options, which is more than enough for a lot of companies/organizations to simply ignore/cut-off the GPL based software based solutions from their list of possible solutions. Now, who doesn’t want an equivalent app of a software for their iPhones & iPad’s, specially in the world of the post-pc era, which is ruled by the revolutionary mobile technologies viz. Smartphones & Tablets. The resultant of these issues have been a big blow for the communities/organizations/companies behind VLC media player as well as Mozilla community. These licensing inconsistencies have resulted in the loss of hundreds of millions of potential users who would have been using these products/apps, had it been available for their platforms/mobile devices. Instead of making the software more accessible, the GPL/AGPL has instead gone the wrong way, and in the end, no one is benefited in return of such restrictions. The potential users, the GPL/AGPL based softwares, developers, platforms, etc all of them have turned out to be the big losers , the biggest losers being the software developers who had chosen GPL/AGPL licensing, which resulted in a loss of hundreds of millions of potential users; which in most cases do turn out to make a difference big enough to pose a life & death crisis. And, too often than not-- that makes all the difference.

4. In contrast to GPL/AGPL , the other licenses like the MIT license & BSD license, are perfectly compatible with both of the platforms, i.e.; Apple’s iOS as well as Microsoft’s Windows 8.1 Mobile platform (I explicitly mean their respective App Stores.) Again, there are many apps/softwares available in the online app stores which have been following the MIT/BSD licensing policies and have never had any problem with almost any platforms, let alone the biggest ones in the industry . Thus, it turns out that, those developers who need/want to go the open source way, without restricting their software’s reach to some of the biggest platforms that the world has to offer, they only have a couple of options viz. BSD & MIT, and sadly, GPL licensing (Any of the various versions including the GPL 2.0, GPL 3.0) is not one of them. Choosing a GPL /AGPL licensing in today’s world, could very well prove to be a death blow to these developers and their softwares. Again, the only reason that there still are many of the open source communities who are still with the GPL, is the fact that they had decided to go with it almost a decade back, and they had no idea then, as to the future implications of it. Now, for them, it’s already too late, and to apply some other license or rather to change the license of a community based software like the Wordpress (which contains millions of lines of codes, contributed by thousands or even millions of developers ) , is in itself a challenge that might take years to implement; as they would actually need to contact each and every developer (Probably in millions)of the wordpress code base, and get them to agree to the new licensing terms; which obviously sounds unrealistic and pretty much impossible, at least for the next few years. As far as we talk about the freedom principles regarding the open source technologies, The licenses like MIT & BSD are actually even more open and inclined towards the freedom of its end users as well as it’s developer community or Organizations. Essentially, BSD & MIT are but a superset of the open source licenses; the subsets being the GPL, AGPL, LGPL etc. Again, MIT & BSD licenses are not only compatible with the regulations/terms&conditions of Microsoft & Apple, but interestingly both of them are also compatible with the various number of GPL licenses. Quoting Wikipedia:

"Many of the most common free software licenses, such as the original MIT/X license, BSD licenses (in the three-clause and two-clause forms, though not the original four-clause form), MPL 2.0, and LGPL, are "GPL-compatible". That is, their code can be combined with a program under the GPL without conflict (the new combination would have the GPL applied to the whole)." ---- Source: wikipedia.org (*2)

Thus, at any time in the future, a customer of the open source software could convert the license to a GPL license and then go on to continue whatever he wants to do with the software, while also following the guidelines of the GPL license.

5. Another drawback of the GPL/AGPL license is it’s incompatibility within it’s own versions of GPL licenses. Quoting Wikipedia:

"When it comes to copyleft software licenses, they are not inherently GPL-compatible, even the GPLv2 is, by itself, not compatible with GPLv3." ---- Source: wikipedia.org (*3)

The above quoted text from wikipedia, makes it pretty simple to conclude that, The GPL license is a bit too complex as well as restrictive , so as to make it’s own consecutive versions, incompatible with each other. This also clearly depicts the in-flexibility as well as inconsistency which, many-a-times defeats the overall purpose of an open sourced world , where the Freedom of end users to utilize the software gets highly limited (as regards commercial usage) .

6. The latest version of GPL, denoted as GPL 3.0 is considerably even more complex and restrictive when compared to its own previous version of the license, called the GPL 2.0. This proves the arrogance of the GPL community to intentionally make the license more & more inflexible as well as restrictive. Sadly, it is because of this arrogance that, the future of GPL as regards compatibility with a number of World's biggest software platforms remains moot, at best. Going with this attitude, it is likely, that in the near future, the GPL based softwares will become alienated from an even more number of future platforms & Operating Systems (due to incompatibility & irrational demands of GPL licensing Clauses) , thus resulting into a huge loss of hundreds of millions of users. Quoting an excellent paragraph from an article at tuaw.com :

"Can the App Store and the GPL co-exist? The most obvious conflict between the App Store and the GPL is the third freedom – the freedom to redistribute copies so you can help your neighbor.There has been lengthy discussion about this issue, with people advancing arguments on both sides. Sadly, the bottom line is this: firstly, it's a gray area, and secondly, it's unlikely to ever be certain one way or the other without a legal trial. We're unlikely to ever get a trial because Apple (as software distributor for all App Store programs) is probably not going to ever go to bat for an Open Source package in a courtroom. So the practical outcome is that the App Store and the GPL are incompatible until proven otherwise, and it's probably never going to be proven otherwise. Apple certainly thinks so, or it wouldn't have removed VLC (and other Open Source apps like GNU Go) from the App Store." Source: tuaw.com (*4)

7. Another option is the concept of a dual licensing system, in which the same software is offered to the users in two separate licensing systems, where, the end user is completely free to download and use the software in terms of any of the available licensing that is provided by the developers of the software concerned. Thus, the option to keep the software under dual license viz. 1. GPL & 2. MIT is a pretty reliable solution for those people who do not want to give up on the GPL license. Then again: why keeping the GPL at all, if one always needed the other license to do something with the code, anyways? Add to it the complexity of the GPL itself; a dual licensing turns out to be an inelegant compromise to solve the inherent flaws/inconsistency of the GPL. So, in any case, a MIT/BSD license is all that's actually needed to make an open source project 'Truly Open' without un-necessary restrictions, thus enabling the project to be a lot more accessible to the millions of potential users as well as organizations around the globe.

8. One of the amazing outcome of using a truly open licensing ( like MIT, BSD) is explained in another article from tuaw.com. To Quote the paragraph:-

"Open Source has brought us many high-quality software products: the gcc C compiler, the Mach kernel, the Apache HTTPd web server, the bash command shell, the Perl and Python programming languages and the WebKit rendering engine used in Safari. These and hundreds more are all Open Source, and they are all shipped as part of Mac OS X. Clearly, Apple believes in Open Source." Source: tuaw.com (*5)

The above could only be possible with a licensing like the MIT or BSD. A GPL based license could never have resulted in these wonderful products described in the quote above.

9. The simplified BSD license is another version of BSD license which is almost similar to MIT License and grants the users as well as developers, the maximum rights and freedom. These licenses are also approved by the various licensing regulating bodies viz. FSF approved (Free Software Foundation) OSI approved (Open Source License) DFSG compatible ( The Debian Free Software Guidelines) GPL Compatible

10. Truth be told, the GPL essentially comes under the Free Software Foundation which focuses on the user's freedom to use the program, to modify it, and to share it. While True Open Source Software focuses on the availability of the source code and the ability to modify and share it. While on one hand, GPL is a Free Software License, On the other hand The MIT & Simplified BSD are true Open Source licenses. --Source Wikipedia (*6)

Thus, a truly open source software should ideally be following the MIT or BSD licensing Systems rather than Free Software Licenses like GPL.

Here's another Quote from Wikipedia which resonates with what I have found.:

Microsoft vice-president Craig Mundie remarked "This viral aspect of the GPL poses a threat to the intellectual property of any organization making use of it."

In another context, Steve Ballmer declared that code released under GPL is useless to the commercial sector (since it can only be used if the resulting surrounding code becomes GPL), describing it thus as "a cancer that attaches itself in an intellectual property sense to everything it touches".

Conclusion:

The next generation Open Source enthusiasts & developers should fully embrace & support the more open licenses which have lesser restrictions & more freedom ( MIT/ Simplified BSD etc. ) , thus benefiting everyone in the long term. The outcome is a win-win situation, where everyone wins! ( The points below make it a bit more clear)

(A) The developers benefit by getting access to almost all the major platforms for releasing such softwares ( under MIT/ Simplified BSD), thus reaching millions of would be users.

(B) The users benefit by being able to use the open source softwares on any of his or her favorite platforms.

(C) The various organizations, enterprises & companies get the benefit of utilizing such open source softwares without worrying about giving up all of their own proprietary software codes (just because they used a small open source plugin with a copyleft license like the GPL) ; while simultaneously also enabling the original software owner to keep their copyright intact.

Source & References:

(_1). http://lifehacker.com/5728521/apple-pulls-vlc-from-the-ios-app-store (_2). http://en.wikipedia.org/wiki/License_compatibility (_3). http://en.wikipedia.org/wiki/License_compatibility (_4). http://www.tuaw.com/2011/01/09/the-gpl-the-app-store-and-you/ (_5). http://www.tuaw.com/2011/01/09/the-gpl-the-app-store-and-you/ (_6). http://en.wikipedia.org/wiki/Open-source_license#OSI_approved_licenses

A Note To The Respected Developers:

To change the licensing is as simple as composing the first license of the software. Let's suppose, A GPL license is to be changed into an MIT license. Here's how it's done:

The only point is, You will have to send an email to all the various guys who wrote the code for this project and own a copyright to pieces of the codes. The email should explain it to them, (and seek their agreement ) regarding a licensing change decision, from the GPL to MIT. Also, you should include the original and new licensing documents (license Terms of both GPL & MIT) with your email. After their agreement, you can very well proceed to prepare a license similar to the one you created earlier , just that this time, the license text file will have the MIT license terms in it.

Thanks Everyone for going through a lengthy writeup such as this. Thanks, specially to the developers for such a wonderful work! I am a fan! :)

Anime.sh

githubdbes1 commented 9 years ago

Hi sheafferusa,

Honestly, thanks for sharing your excitement about BSD-type licensing. Unfortunately your post is so long, and with so many points, I don't know where to start my reply. And I don't have time to write a response of the same length in this moment. Additionally, I'm doubtful doing so would be the best way to help create a useful discussion of the various licensing options.

I suspect that we are more likely to have an experience that is valuable to all involved if we aim for making only one or two points per post. This will encourage more dialog whereby we can more easily learn from our respective experiences and knowledge.

sheafferusa, would you be willing to repost the points from your long post (in smaller chunks) that you would like the rest of us to discuss? Make all your same points (I'm not trying to squelch you), simply give them to us in more manageable bite-sized morsels. Don't even re-type anything for that matter, just copy one section at a time and repost it for discussion.

I hope you don't take offense to my suggestions, none was intended. I can see that you put a lot of effort into composing that post and I would like to see your concerns and ideas conversed about in a meaningful way.

Aloha, david

howardroark2018 commented 9 years ago

Hello David!

First, thanks for the reply. I can't think of getting even slightly offended by the reply you posted and I take it to be my honor to accept your wonderful suggestions and thus draft a shorter version of the script, so as to make it more manageable.

Anime.sh

howardroark2018 commented 9 years ago

Here you go:

  1. GPL/AGPL is the most complex & lengthy license as compared to BSD/MIT which are just 10 lines long and simple.
  2. AGPL/GPL banned from Apple App store, Mac app store & the new Windows 8 app store. An absence of apps leads to a huge loss of 100's of millions of potential users. MIT/BSD isn't banned anywhere.
  3. MIT/BSD licensed systems are compatible with GPL & most other licenses, whereas, GPL is incompatible with different versions of its own self, thus massively restricting the development of any software released under the GPL.
  4. MIT/BSD grants maximum freedom and is enough renowned to be approved by the various licensing regulating bodies viz.

FSF approved (Free Software Foundation)

OSI approved (Open Source License)

DFSG compatible ( The Debian Free Software Guidelines)

Is 100% GPL Compatible.

  1. GPL/AGPL remains highly criticized in the tech world, specially the commercial sector. Ex.
    Steve Ballmer declared that code released under GPL is useless to the commercial sector (since it can only be used if the resulting surrounding code becomes GPL), describing it thus as "a cancer that attaches itself in an intellectual property sense to everything it touches".

And, Finally, The Conclusion:

The MIT/BSD is a win- win for everyone, unlike AGPL/GPL. Here are the exclusive benefits of going with MIT/BSD:

(A) The developers benefit by getting access to almost all the major platforms for releasing such softwares ( under MIT/ Simplified BSD), thus reaching millions of would be users.

(B) The users benefit by being able to use the open source softwares on any of his or her favorite platforms.

(C) The various organizations, enterprises & companies get the benefit of utilizing such open source softwares without worrying about giving up all of their own proprietary software codes (just because they used a small open source plugin with a copyleft license like the GPL) ; while simultaneously also enabling the original software owner to keep their copyright intact.

githubdbes1 commented 9 years ago

Here are replies to your first two points (this is all I have time for in this moment because I'm in the midst of a bunch of work, I'll try to reply more tomorrow):

sheafferusa wrote:

  1. GPL/AGPL is the most complex & lengthy license as compared to BSD/MIT which are just 10 lines long and simple.

I don't see that as a reason to not use the A/GPL. If the A/GPL provides the desired functionality let's use it. The A/GPL is likely the most rigorously analyzed license in existence. And it's been tested in court. There's no confusion about it's functionality. And no one doubts it's legal viability. I've actually read it and it is quite understandable. That's more than I can say for the lengthy licenses that the most succesful companies in the world attach to many of the things we buy each day.

  1. AGPL/GPL banned from Apple App store, Mac app store & the new Windows 8 app store. An absence of apps leads to a huge loss of 100's of millions of potential users. MIT/BSD isn't banned anywhere.

Not true. For example here's a GPL'd WordPress app is available in both stores:

https://itunes.apple.com/us/app/wordpress/id335703880 https://www.windowsphone.com/en-us/store/app/wordpress/5f64ad85-f801-e011-9264-00237de2db9e

Namaste, david

perguth commented 9 years ago

@wwebfor: I loved the article by Zed Shaw on this: Why I (A/L)GPL:

[...] this general attitude. _“Hey your software is awesome! Can I get it for free so I can use it at work and make money or please my boss? That’d rock! (for me).”_ [...] My new motto is: Open source to open source, corporation to corporation. If you do open source, you’re my hero and I support you. If you’re a corporation, let’s talk business.

GPL software can simply be relicensed as AGPL since it requires less. In a short presentation I held at my university, I summarized my reasoning for choosing GPL respectively AGPL as an individual developer doing non-community projects this way:

[...] with GPL styled licenses you can strike a balance between:

  1. Your own financial interests and
  2. The idealistic goal of advancing a world further apart from the laws of the “weary giants of flesh and steel

Now for a project that strives to become a community project or already is one I think in the direction of multi-licensing is the right one. That way there can be a body ("the company") that does business by selling commercial non-copyleft licenses and thus aquiring money to drive the development. And then there is a community that uses the free and copyleft AGPL version. The community contributes back by granting (for and with every new commit) the driving body the right to sell non-copyleft versions. Of course for that to happen the community that contributed code in the past must consent or respective parts for which no consent could be achieved be reimplemented.

liweitianux commented 9 years ago

Hello,

I saw the news about GPL lawsuits[1] some time ago. Just for your information.

Personally, I prefer the MIT/BSD licenses for the simplicity and permissiveness. Thanks!

[1] Lawsuit threatens to break new ground on the GPL and software licensing issues

j8r commented 9 years ago

To summurize, all licenses have its purpose :

MIT/BSD/Apache are very permissive to have the widely diffusion/adoption. (Apache is more business friendly : copyrights, patents, trademark... must be preserved) LGPL/MPL : only your core work and modifications on itself must be of the license, but not other softwares. AGPL/GPL : all derived/larger work must be of the license that use your work. (AGPL adds a network clause)

I have grouped close licenses to simplify, but there are a few differences between them.

Consequences and potentials risks

Very permissive licenses can allow a good expansion of the utilization, but a potential bigger player can appropriate your work and "stifle" you.

However, a restricitve license can limit the adoption of your work, but have large guarantees for the future : all you have done will always be accessible to everyone.

Finally, there haven't 1 right decision, you must mesurate the pros and cons.

Examples : (GNU/)Linux (GPL) and BSD : Apple incorporates code of BSDs into XNU (open source core of MacOSX) but several components are closed source while Google must publish all changes on Linux kernel, that are used notably in Firefox OS.

Chromium/Android are permissive BSD and Apache to have the widest adoption : bigger community and influence. Concurrence risks that benefits of it to become a bigger threat are small because they have a (much) smaller developer and user community (Opera, CyanogenMod...) and are dependent.

Libraries use often LGPL, a compromise to have advantages of both permissive/restricitve licenses.

wwwredfish commented 8 years ago

We re-licensed the app to MPL-2.0 since it is something between free software and open-source.

howardroark2018 commented 8 years ago

Boss, but, unfortunately, with respect to this particular application (as much of it is client side anyways), changing it into MPL wouldn't be much different than GPL. Since essentially, both are anyways copy-left license. Yet, anyways, if that's what has been your decision, I respect it. Although, I wished it were MIT or BSD.

j8r commented 8 years ago

MPL is a good choice, nice compromise between keeping the derivative work open for everyone and the freedom of use.

perguth commented 8 years ago

:+1: