tantaman / strut

Strut - An Impress.js and Bespoke.js Presentation Editor
http://strut.io
GNU Affero General Public License v3.0
1.81k stars 486 forks source link

License #292

Closed scottfr closed 10 years ago

scottfr commented 10 years ago

The AGPL license is banned from use at a number of companies (e.g. Google).

Is there any chance Strut could be dual-licensed under another license (e.g. GPL, GPLv3, MIT, etc...) that would allow it to be used in these companies?

I would love to use Strut and contribute back to it, but I currently can't due to the AGPL.

howardroark2018 commented 10 years ago

Well, I believe a license such as the MIT would be the best! Here is a draft from my research about open source licenses:

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

I do think that an MIT License would be much better for a program/software where a major user base of the software consists of enterprises, organizations, corporations, companies or even institutions etc. There are a lot of reasons for a company or organization to use a software under the MIT 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.

1. 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 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.

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 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 ) 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 has instead gone the wrong way, and in the end, no one is benefited in return of such restrictions. The potential users, the GPL 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 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, 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 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 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.

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

howardroark2018 commented 10 years ago

Well, this is definitely one worldclass project at its early initiation and I could almost see how much companies and organizations could have loved it , just that, had the license been not as restricted & ridiculous as the AGPL (or any other GPL for that matter.) Essentially the codebase unfortunately comes out to be useless for implementation in the commercial sector and that sure doesn't sound good. Even when I have not been actually involved with this project in any way (except perhaps private testing); I feel sad. And yet, what makes the pain even worse, is the fact that no one (not even the core developers or owner(s) ) are interested in discussing these issues; and that my friend breaks my heart. ...

wolftune commented 10 years ago

I'd like to put in a strong vote for AGPL. I think the license choice is excellent. You want to be like Etherpad and have someone fork and make something like Hackpad where most people (non-coders) aren't even aware there was an open-source option?

AGPL is a superb license, and everyone should be using it. It protects the freedoms of the people who use the software, not just the freedoms of developers.

Thank you for using the AGPL!

That said, I recognize that there's value in getting more contributions from companies who don't like the freedom the AGPL guarantees… So I can understand some argument for choosing more permissive licenses. But then, there's also people who care about software freedom who will be much happier to contribute because it is AGPL…

To address the concerns above:

\1 & 2. License length is a terrible way to judge something. Standards are what matters here. Hundreds of long licenses are crazy. I only need to read the AGPL once, and part of the length is the inspiring call to care about software freedom.

\3 & 4 & 6. Yes, Apple and others having terms that actively sabotage free software licenses is a big problem. And yes, we pick our battles, but Apple and others are at fault here. What they are doing is an active attack on the community, and suggesting we play by their rules is only going to make things worse.

\5. Yes, compatibility is the single biggest flaw of copyleft licenses. It's a legitimate concern. In this case, it doesn't matter much though. The solution, of course, is for everyone to stick to the same copyleft licenses, like everyone should just use the AGPLv3+. (Oh, please include the + "or later" part, that helps with compatibility concerns).

also about 6: that has a bunch of hyperbole about arrogance and bullshit. The GPLv3 and AGPLv3 are absolutely legally sound licenses. This is nothing more than FUD.

\7. Yes, dual licensing exists, yes it is problematic. Simpler to just stick with AGPL.

\8. "Clearly, Apple believes in Open Source." But clearly not in software freedom. Apple actually believes in just-enough-Open-Source that they benefit while giving back as little as possible and controlling things as much as possible.

\9. 10. The GPL and AGPL are completely accepted as Open Source licenses. Yes, they do a better job at protecting user freedom than permissive licenses. Obviously people objecting are programmers who care only about code and not about ethics. It also happens from a business-perspective that copyleft prevents a serious business problem: other companies stealing your customers and then using proprietary restrictions to lock them in so you can't get them back. Only with a license like AGPL can you be sure that if any competitors arise using the same code, you can keep up with them and make it feasible for customers to go back and forth because lock-in is prohibited. Because permissive licenses lead to proprietary end-products, it actually often fragments the market but in a really static way that hurts all the businesses in the long-term.


Anyway, I was otherwise coming on here to post a request that Strut indicate the AGPL license on the homepage so everyone can see it and link to the code, and that you ought to include the complete license with the repo rather than just the brief summary with the link.

Thanks for respecting my freedom and for making this great software!

refi64 commented 10 years ago

sigh\ I was afraid a license war would begin.

If you want all benefits, I'd say go with dual licensing. The creators of Struct, however, may have other opinions.

And, if you just want to use it in a commercial environment, it doesn't really matter.

wolftune commented 10 years ago

Obviously someone coming along and making emotional, partisan attack on AGPL is pretty damn bold shot in a license war. The OP was reasonable enough, there was no need for the over-the-top reply that followed it. I'd rather leave it with "there are many opinions" and be sure they are expressed versus the impression that whoever is the loudest is the only one heard.

Dual-licensing isn't crazy, it's just problematic. And yes, the AGPL is not anti-commerce, so people can still do commercial things regardless.

Again, the entire issue boils down to: Apple and Google etc. have their interests which means they only like software they can fork and turn into proprietary controlled stuff. There's a call to please allow that because that might get those companies to support you. I'm saying "screw them" those companies are being malicious here. But then, they have a lot of power. Sometimes compromising makes sense, even when making a deal with the devil. But I'm not sure it's good in this case to compromise.

refi64 commented 10 years ago

@wolftune I actually like a lot of the open-source tools that Google makes..., @sheafferusa Your post is opinionated, not factual. Anything that has the word "better" in it is 99% opinionated. Also, you're treating the GPL community like a bunch of high idiots. And this is coming from an MIT license fan.

wolftune commented 10 years ago

@kirbyfan64 agreed completely. Google is a ginormous company that does a ton of different things, same with Apple even, there's good and bad and we can't just judge these things as black and white. I do think their policies of prohibiting AGPL, esp. Apple's GPL-incompatible terms are really shitty. Those things are really what I was referring to.

howardroark2018 commented 10 years ago

@ Everyone: GPL community is actually worse than shit. They do more harm than good & are really really backward fickle minded ass*oles who cannot digest the fact that commercial softwares are much more user friendly & thus popular. The GPL has a completely idealistic approach which comes up to the point that they have now begun promoting piracy of commercial softwares! Grapes are sometimes really really sour!! These guys have lost & completely failed in gaining any seizable consumer market share with respect to most consumer centric softwares available in the market. God save them!! Huh!!

refi64 commented 10 years ago

@sheafferusa No consumer market share? See: GTK+, GLib, Linux, GCC, gold, GNU binutils, ....

wolftune commented 10 years ago

please don't feed trolling. Comments that were earlier very biased, inappropriate for the context, yet fully within the normal range of discourse have now turned into completely emotional ranting, and I suggest it be deleted. It's now completely out of bounds and counterproductive to any community to engage in this sort of thing. If people want to discuss contentious topics, they can do so in reasonable ways or expect to be ignored.

howardroark2018 commented 10 years ago

@kirbyfan64 sir, nope. basically, I am not talking about developers or software guys. I am talking about the normal sane consumer, someone who doesn't want to code, but only wants to get his most basic things done. People who want a system that 'just works' & nothing beyond this. This comprises of 95% of the overall consumer market. So, GNU, GTK+ or even the beautiful Gnome, do not come close. However, You missed an awesome example called 'Android' which is Open Source but, yet again is licensed under Apache 2.0 & not GPL/AGPL , which means it is 100% commerce friendly. That's one reason it took over the world in 5 years, which linux as a desktop OS could not do in more than a couple of decades. And boss, I too love Open Source but I have a great respect for proprietary softwares too ( like Macintosh). You know, had there not been Free BSD OS ( under BSD License) , there wouldn't have been any macintosh! That's so much of a thing to be proud of as an admirer of Open Source. However, there are licenses which although take pride in calling themselves 'Open Source' but from the inside are almost as restrictive as a proprietary licensed system. A restriction is what it is, 'RESTRICTION' & just that. The GPL has been designed to take full advantage of these restrictions, resulting in the viral propogation of some of their core idealistic ideologies, and thus forces the software developers to release their intellectual property rights. Again, had developers been given an option, I am sure many would have found it reasonable enough to give all their code away. But, Freedom of choice & Forceful compulsion are two very opposite things. The core of the opensource is supposed to be 'Freedom'! And by freedom, it is meant to be broad, touching 100% of the users without any bias. There is nothing like 99% freedom. It either is freedom, or it just isn't. For software developers, their freedom to protect their own intellectual propery rights have been crushed, leaving a dirty (& viral) footprint of the GPL over it. Unfortunately, The Free Software Foundation fails to follow what it preaches & fails at it badly. These are FREEDOM-LESS licenses & are diametrically opposite to the wonderful permissive open source licenses like Apache 2.0, BSD, MIT & even MPL. Ironocially, The GPL is , in this respect very much like the proprietary licenses, which it opposes. Then again, Proprietary softwares only live as long as it is good enough for the end users, who then continue buying licenses, thus funding further refinement of the softwares involved. So, many of these end up as amazing applications focussed at getting things done. This is probably where, these proprietary softwares compensate for their own restrictiveness. BUT, GPL' ed softwares end up empty handed at this point too, because of their own contradicting ideologies & skewed principles. It ends up being a victim of its own-self, & nothing else. I just hope that one day, the FSF guys wake up to a new morning, where they at-least decide, for once, to never again row two different boats at the same time. Irrespective of whichever boat they choose, they would at least be better off, than continuing with their present ideologies & principles.

tantaman commented 10 years ago

The argument that "Android was a success because it was Apache 2 and Linux was not a success in the desktop market because it is GPL" is off base.

All of the companies behind Linux were always pushing it as a server technology. Few companies were considering the desktop world for Linux and those that were were small time players and not companies at Google scale. Interestingly enough, Linux dominates its intended market today and has a GPL license.

When picking Android you aren't just picking Android, you're also picking a device with a significant price difference from the competitor. If Linux wanted to compete in the desktop world they couldn't do it on price since MS was already on all desktops at all price points.

By the time we had smartphones, companies knew the value of having your own OS. When desktop OSs were starting up nobody thought there was any money in them so nobody cared about bringing a desktop solution to market. By the time Microsoft showed everyone that there was indeed a market for desktop operating systems it was too late for any competitor. Android was entering a far younger market. A market in which many people had not yet even purchased a smartphone.

The first iPhone shipped in 2007. The first Android phone shipped in 2008. By contrast, the first windows desktop shipped in 1985. The first Linux release was 1991. 6 years of catching up is a lot to do.

tantaman commented 10 years ago

There are two kinds of software.

  1. Software that helps other developers build new software. Tools, frameworks, and infrastructure code would fall into this category.
  2. Final applications. "Final applications" don't act as building blocks to create new software but are an end in themselves. E.g., Youtube, iTunes, Keynote, Strut.

I believe in helping developers to create their own final products. As such, the generic projects I've created, and that Strut is based on, are all MIT licensed. I do not believe in a permissive license for a final application since the only next step with those applications is to market and sell them. In essence, I'll help you build your own application by giving you the tools I've made on the way but I'm not going to give you a final product.

The only way AGPL would impact you is if you sought to integrate Strut into one of your projects. If you are just using Strut as a way to author presentations then the license has no impact. As an example, if you're running Linux systems in your office you already have plenty of GPL and AGPL software that you are using without legal problems.

tantaman commented 10 years ago

I'll re-open this for conversation in a few days after everyone has settled down.