Open source development has become important for both small and large corporations

  Follow me: Follow Bruce Kirkpatrick by email subscription Bruce Kirkpatrick on Twitter Bruce Kirkpatrick on Facebook
Tue, Jan 29, 2013 at 7:40PM

The free software foundation helps protect the rights of free software and they wrote many of the licenses in use and make those available to developers releasing free software:
http://en.wikipedia.org/wiki/Free_Software_Foundation

This chart shows how the common free open source licenses relate to each other.

Chart was taken from David Wheeler's slide on open source software licenses.

Based on my research of open source licenses, I decided to license my application as "GPLv3 or later" with an exception that plug-ins, themes and content can be licensed differently.   One way to determine which code is GPL or not, is by determining where the source code changes are made.  My license will state which directories and files are protected by the GPL license.  Changes outside of those directories don't have to be open source. 

GPLv3 or later is a way of protecting your app from all current and future loopholes that a large proprietary software company could figure out in order to use your work without making their changes to it free.

This is how the Mura CMS has licensed their code.  One of Mura's lead developers told me about this directly on the Railo forums.  Mura is written with CFML and it is a great project for what it tries to do.
http://www.getmura.com/overview/licensing/

Wordpress also uses GPL (as do almost all free CMS: http://en.wikipedia.org/wiki/List_of_content_management_systems ), but they say all wordpress plugins and themes must be open source GPL license.  This is less friendly to commercial plugin developers.  It doesn't stop you from charging for the work you did, but it does make it easier for other people to distribute and learn what you did.

When reviewing other companies strategies related to commercial and open source licensing, it is easy to look at the biggest ones like Adobe, Apple, Facebook, Microsoft,  Oracle and Google.

Microsoft has had a lot of negative press related to their past (and maybe present) business strategy, which is explained in more detail on this wiki:

http://en.wikipedia.org/wiki/Embrace,_extend_and_extinguish

OpenGL (open source) is now faster then Microsoft's proprietary DirectX on windows AND Linux according to Valve.  Valve makes some of the most successful PC games ever created.
http://www.extremetech.com/gaming/133824-valve-opengl-is-faster-than-directx-even-on-windows

Microsoft continues to push DirectX with Internet Explorer 10 by not supporting the Java WebGL standard which is up to 10 times faster.  In this case, Microsoft is actually making a decision which makes their browser inferior on day 1.  It seems like there has been little interest from Microsoft in making an announcement regarding WebGL.  

Fortunately Apple and Google are contributing so much to open source projects, that companies like Microsoft can no longer depend on Fear, uncertainty and doubt to make people steer clear of open source solutions.  After years of using open source solutions, developers like myself have found them to end up being superior to commercial alternatives in many cases.
http://en.wikipedia.org/wiki/Fear,_uncertainty_and_doubt

Apple open source project contribution list:
http://www.apple.com/opensource/

Google has contributed to over 900 open source projects:
https://developers.google.com/open-source/projects
http://code.google.com/hosting/search?q=label:google

I increasingly use less commercial software and focus on developing open source solutions.  It seems only fair that I do some of my work for free and distribute it for free.

Companies that depend on vendor lock-in and proprietary solutions to gain users will always be able to do that while the surge of sales continues, until another company provides the same solution with fewer limitations.   Ultimately, free open source is the final destination for all software since you can only remove limitations for so long until there are no artificial limits.   As the differences between Android and IOS become less important to the consumer, how will Apple be able to hold onto market share when Android is clearly more flexible?   Recent stock activity suggests Apple may be nearing the end of their growth in the mobile / tablet space.   I'm personally not interested in anything Apple anymore, but I do look forward to the next Android device from Samsung.   The recent patent lawsuits only tarnished my opinion of both companies.   Open source projects gain users through flexible licensing, slow steady innovation and reduced costs.
http://www.pcworld.com/article/166551/open_source_status_quo.html

.NET vs Java performance is nearly identical despite nearly all Java tools being free. Microsoft .NET tools like Visual Studio cost hundreds or thousands of dollars.  Microsoft created .NET to compete with Java.  They used to create their own version of Java instead.  Here is a benchmark comparing the open source version of .NET called mono with java:
http://benchmarksgame.alioth.debian.org/u32/benchmark.php?test=all&lang=csharp

All these companies sell products and services to millions of people which helps to pay for the free open source work they do.  They don't give us all their work for free, but they do improve the tools they are using rather then waiting for a third party to improve them.   When Mysql or Linux is not fast enough for google, they change it and then give some of that work back to everyone.

Facebook also does a lot of open source work to improve the languages and systems they use:
http://developers.facebook.com/opensource/

The largest brands have done a lot more for us in recent years without charging us for it.

Microsoft has a bunch of open source projects too, but they seem to all be exclusive to Windows based products and services.
http://www.microsoft.com/opensource/directory.aspx

This article states microsoft is a top contributor to Kinux 3.0 Kernel, but it's only so that linux works with Microsoft's cloud services.
http://www.zdnet.com/blog/open-source/top-five-linux-contributor-microsoft/9254

Apple is often building things only so that Mac OS X is better, but some of their work has to be GPL because they are using an open source OS for most of Mac OS X.     None of these companies would be contributing to open source if it wasn't helping them save money and stay competitive.   To compete against others who are far ahead, it is necessary to use existing technologies.   Open source code is very useful as a way to beat Microsoft because Microsoft isn't allowed to put any of that work in Windows or its other projects.

In some ways Apple is worse then Microsoft for pushing vendor lock-in, but their reliance on open source makes them slightly better since at least they give some of that work back and don't create an entirely proprietary version of graphics and other systems.  It's easier to make things work on Linux and Mac then it is to go between Mac and Windows.   But comparing mobile operating system, you have to entirely start over to switch from apple to android or rely on other frameworks which could be slower.

Adobe was forced to switch to building HTML tools and making extensions to CSS3.  They are bringing many of the shader and layer effects in Photoshop/Flash to CSS and providing a way for you to make your own. Some of this was recently finalized and works in Chrome.  Eventually HTML may be just as good as Flash with Adobe's help.
http://html.adobe.com/webstandards/csscustomfilters/cssfilterlab/

One day they might be able to have Photoshop running in chrome if they do enough to improve WebKit.   Microsoft is forced to re-create these things or license it from adobe probably in order to bring it to Internet Explorer one day.   If Microsoft makes a proprietary version, it will cause us to have to write multiple versions again.


Bookmark & Share



Popular tags on this blog

Performance |