Being Permissive, the new Popular

This post is massively inspired by a post in the gnu-prog-discuss mailing list. This is a closed list of the GNU Project, and only GNU maintainers and contributors can join, so I cannot put a link to the original message (by Mike Gerwitz), but this topic is being discussed over and over again at many places, so you will not have trouble finding similar opinions. I am also “responding” to a recent discussion that I had with Luiz Izidoro, which is a “friend” (as he himself likes to say) of the LibrePlanet São Paulo group.

Mike's point is simple: we, Free Software activists, are the geeks (or nerds) at school, surrounded by the “popular guys” all over again. In case it is not clear, the “popular guys” are the people who do not care about the Free Software ideology; the programmers who license their softwares using permissive licenses using the excuse of “more freedom”, but give away their work to increase the proprietary world.

It is undeniable that the Free Software, as a technical movement, has won. Anywhere you look, you see Free Software being developed and used. It is important to say that by “Free Software” I mean not only copyleft programs, but also permissive ones. However, it is also undeniable that several proprietary programs and solutions are being developed with the help of those permissive Free Softwares, without giving anything back to the community, as usual.

Numbers speak for themselves, so I am posting here the example that Mike used in his message, about Trello, a “web-based project management application”, according to Wikipedia. It is quite popular among project managers, and I know about two or three companies that use it, though I have never used it myself (luckily). Being web-based, it is full of Javascript code, and I appreciated the work Mike had to determine which pieces of Free Software Trello uses. The result is:

jQuery, Sizzle, jQuery UI, jQuery Widget, jQuery UI Mouse, jQuery UI Position, jQuery UI Draggable, jQuery UI Droppable, jQuery UI Sortable, jQuery UI Datepicker, Hogan, Backbone, JSON2 (Crockford), Markdown.js, Socket.io, Underscore.js, Bootstrap, Backbone, and Mustache

You can see the license headers of all those projects here:

/*

 Sizzle CSS Selector Engine v1.10.16
 http://sizzlejs.com/

 Copyright 2013 jQuery Foundation, Inc. and other contributors
 Released under the MIT license
 http://jquery.org/license

 Date: 2014-01-13

 jQuery JavaScript Library v2.1.0
 http://jquery.com/

 Includes Sizzle.js
 http://sizzlejs.com/

 Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors
 Released under the MIT license
 http://jquery.org/license

 Date: 2014-01-23T21:10Z

 jQuery UI Core 1.10.3
 http://jqueryui.com

 Copyright 2013 jQuery Foundation and other contributors
 Released under the MIT license.
 http://jquery.org/license

 http://api.jqueryui.com/category/ui-core/

 jQuery UI Widget 1.10.3
 http://jqueryui.com

 Copyright 2013 jQuery Foundation and other contributors
 Released under the MIT license.
 http://jquery.org/license

 http://api.jqueryui.com/jQuery.widget/

 jQuery UI Mouse 1.10.3
 http://jqueryui.com

 Copyright 2013 jQuery Foundation and other contributors
 Released under the MIT license.
 http://jquery.org/license

 http://api.jqueryui.com/mouse/

 Depends:
 jquery.ui.widget.js

 jQuery UI Position 1.10.3
 http://jqueryui.com

 Copyright 2013 jQuery Foundation and other contributors
 Released under the MIT license.
 http://jquery.org/license

 http://api.jqueryui.com/position/

 jQuery UI Draggable 1.10.3
 http://jqueryui.com

 Copyright 2013 jQuery Foundation and other contributors
 Released under the MIT license.
 http://jquery.org/license

 http://api.jqueryui.com/draggable/

 Depends:
 jquery.ui.core.js
 jquery.ui.mouse.js
 jquery.ui.widget.js

 jQuery UI Droppable 1.10.3
 http://jqueryui.com

 Copyright 2013 jQuery Foundation and other contributors
 Released under the MIT license.
 http://jquery.org/license

 http://api.jqueryui.com/droppable/

 Depends:
 jquery.ui.core.js
 jquery.ui.widget.js
 jquery.ui.mouse.js
 jquery.ui.draggable.js

 jQuery UI Sortable 1.10.3
 http://jqueryui.com

 Copyright 2013 jQuery Foundation and other contributors
 Released under the MIT license.
 http://jquery.org/license

 http://api.jqueryui.com/sortable/

 Depends:
 jquery.ui.core.js
 jquery.ui.mouse.js
 jquery.ui.widget.js

 jQuery UI Datepicker 1.10.3
 http://jqueryui.com

 Copyright 2013 jQuery Foundation and other contributors
 Released under the MIT license.
 http://jquery.org/license

 http://api.jqueryui.com/datepicker/

 Depends:
 jquery.ui.core.js
 Copyright (c) 2011 Brandon Aaron (http://brandonaaron.net)
 Licensed under the MIT License (LICENSE.txt).

 Thanks to: http://adomas.org/javascript-mouse-wheel/ for some
 pointers.
 Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug
 fix.
 Thanks to: Seamus Leahy for adding deltaX and deltaY

 Version: 3.0.6

 Requires: 1.2.2+
: Copyright (c) 2006-2008, Coolite Inc. (http://www.coolite.com/). All
                                              rights reserved.
 @license: Licensed under The MIT License. See license.txt and
 http://www.datejs.com/license/.
 @website: http://www.datejs.com/

  Copyright 2011 Twitter, Inc.
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
  implied.
  See the License for the specific language governing permissions and
  limitations under the License.

  Trello modification note: we have modified this version of the Hogan
  library
  to treat the empty string as False for the purposes of section
  rendering.
  See https://github.com/twitter/hogan.js/issues/search?q=48 for the
  issue and
  patch.


 This application uses other third-party javascript components
 distributed under appropriate licenses. For more information,
 see the following:
      backbone.js   http://backbonejs.org/
      json2.js      https://github.com/douglascrockford/JSON-js
      markdown.js   https://github.com/evilstreak/markdown-js
      socket.io.js  http://socket.io/
      underscore.js http://underscorejs.org/
 Socket.IO.js build:0.8.6, development. Copyright(c) 2011 LearnBoost
 <dev@learnboost.com> MIT Licensed
! CHANGES FOR TRELLO: Remove all transports other than built-in
browser Websockets, try/catch around errors, fix transport merge, fix
heartbeat
! Diff with published v0.8.6 for the details.
*/

This is only on the client-side, i.e., the Javascript portion. I will not post the link to the full Javascript code (condensed in one single file) because I do not have permission to do so, but it should not be hard to take a look yourself if you are curious.

On the server side, Mike came up with this list of Free Softwares being used by Trello:

MongoDB, Redis, Node.js, HAProxy, Express, Connect, Cluster, node_redis, Mongoose, node-mogodb-native, async, CofeeScript, and probably more

Quite a lot of Free Software, right? And Trello advertises itself as being “free”, which might confuse the inexperient reader because they are talking about price, not about freedom.

The lesson we learn is obvious but no less painful. He who contributes to Free Software using permissive licenses is directly contributing to the dissemination of proprietary software. And the corolary should be obvious as well: you are being exploited. Another nice addition made by Mike is a quote by Larry Ellison, CEO and founder of Oracle Corporation, about Free Software (and Open Source):

“If an open source product gets good enough, we'll simply take it.... So the great thing about open source is nobody owns it – a company like Oracle is free to take it for nothing, include it in our products and charge for support, and that's what we'll do. So it is not disruptive at all – you have to find places to add value. Once open source gets good enough, competing with it would be insane. ... We don't have to fight open source, we have to exploit open source.”

So, do you really think you have more freedom because you can choose BSD/MIT over GPL? Do you really think you it doesn't matter what other people do to your code, which you released as a Free Software? What are your goal with this movement, contribute to a better Free Software ecosystem (which will lead to a society which is more fair), or just getting your name in the hall of (f|sh)ame?

Back to the initial point, about not being “popular” among your friends (or be the “radical”, “extremist”, and other adjectives), I believe Mike hit the nail when he said that, because that is exactly how I am feeling currently, and I know other Free Softwares activists feel exactly the same. To defend a copyleft license is to defend something that is wrong, because, in the “popular kids' view”, copyleft is about anything but freedom! The cool thing now is to be indifferent, or even to think that it is nice that proprietary software can coexist with Free Software, so let's give it a help and release everything we can under permissive licenses. I could mention lots of very nice Free Softwares that chose to be permissive because their maintainers thought (and still think) GPL is evil.

I contributed and still contribute to some Free Softwares that are permissive licensed. And despite trying to use only copyleft software, sometimes I replace some of them by permissive ones, and do not feel guilty about it. I do that because I believe in Free Software, and I believe we should support it in every way we can. But doing so is also nocive to our cause. We are supporting softwares that are contributing to the proprietary world, even if that is not what their developers want. We are making it very easy for people like Larry Ellison to win and think they can exploit what other people are doing for free(dom). We are feeding our own enemy in their mouths. And we should be very careful about that.

This post is a request. I am asking you a favor. Please, consider (re)licensing your project using a copyleft license. If you do value what Free Software is about (or even what Open Source is about!), then help spread it by not helping the proprietary side. I am not asking you to join our ideological cause (or maybe I am?); feel free to stay out of this if you want. But please, at least consider helping the Free Software community by avoiding making your code permissive, which will give too much power to the unethical side.

Thank you!

Tags


Blogroll


I am also on




Legal matters


The following catch-all copyright notice and permission apply to all documents and postings in this blog that don't contain a copyright notice of their own, and whose copyright can be reasonably assumed to be held by Sergio Durigan Junior.

Copyright 2011-2016 Sergio Durigan Junior

Permission is granted to make and distribute verbatim copies of this entire document worldwide without royalty, provided the copyright notice, the document's official URL, and this permission notice are preserved.

The following licensing terms also apply to all documents and postings in this blog that don't contain a copyright notice of their own, or that contain a notice equivalent to the one above, and whose copyright can be reasonably assumed to be held by Sergio Durigan Junior.

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.