Tuesday, July 26, 2011

Free software, free beer and free speech - opening up

This is a series of articles that will allow the non-specialist reader to understand the meaning of open source. There is frequent confusion at large about the differences between free software and open source software. I hope to resolve this too. For the novice this series of articles will also educate on open source's history, it's impact on consumers and the philosophy and economics of open source and community software. The name of the article reflects the two dominating philosophies that cover community software development - the first that is professed by the Free Software Foundation is stricter and advocates that all software be open source and free, while the latter reflects realities of the day and separates ownership from availability.

Commonly open source software is developed for the Linux operating system, but in no way is restricted to it. Open source software is available for all operating systems. In fact, quite a few software are available ('ported') to Windows family as well.

Are you touched by open source? Has open source added value to your life?

Yes. In many ways than one.

If you use the Firefox Browser. If you use websites that provide services that are powered by all or some of Apache, PHP, Linux, MySQL. For example, Indiblogger.in is developed in PHP and so is Facebook. Google uses the Python programming language, which too is open source. The mobile smartphone that is powered by Android or the Bada operating system from Samsung, or HP's webOS - it all runs Linux. In a recent announcement, an unlikely corporate house became a member of the Linux foundation. You would never guess who! Toyota. Which means your car in the future or perhaps now itself is powered by open source software. Many stock exchanges are now powered by huge swarms of Linux servers that are interlinked to form a super computing grid which ensures that the system that allows you to trade stock is always up and running.

The attractiveness of the open source philosophy is such that it has been used beyond software. A recent initiative by the Council of Scientific and Industrial Research (CSIR), India has adopted this model for drug discovery and development. Movements like the Creative Commons allow books, literature and articles (yes, it could apply even to this blog entry) to be released under the same license. This now also extends to computer hardware development - with the recent announcement by Facebook to create an open source hardware platform through the opencompute project. A similar project has recently been announced by CERN - the institute running the LHC (Large Hadron Collider) experiment. CERN has been extensively leveraging open source software for scientific computation and have packaged a distribution of Linux called Scientific Linux.

The open source philosphy is one that allows extension, redistribution and improvement. A philosophy that fosters innovation. A philosophy that creates value. For Humanity.

An area where open source software makes a lot of sense is in education. There are numerous solutions that aid in learning, from primary schooling to advanced mathematical computations to learning management. And these solutions are highly useful. I remember very fondly how my son learned his primary skills very fast using the excellent education suite Gcompris. Next I provided him a geographical software that gave him information on countries, their capitals and flags. I did not coax him into using it. He just adopted it and within a month knew each and every country and their capitals of Europe, Asia and South America. E learning suites such as Moodle are used even by corporates such as Cisco for powering their self learning platforms.

How and why does open source work? Is open source just about providing the source code along with the 'binary' or compiled software? It is not. It is a culture and a philosophy. It usually begins with someone's desire to solve an 'itch'. The itch then catapults into a movement leading to the community development of an amazing piece of innovation. Where do corporates fit in this picture? For corporates its harnessing engines of innovation. It's like throwing in a brick and in return you get a wall.

Take for example the Apache web server. Over 70% of the web is powered by the Apache web server. Facebook uses it. Google uses it. Yahoo uses it. IBM uses it. And lots of smaller and medium size businesses use it. Everyone contributes to it. Some contribute to it by using it and providing feedback on the software. Some help in testing the software. Some contribute to developing the software. And, some contribute in forums - providing extensive support for the software.

Take another example. It began with the short email that a young college student from Helsinki sent across -

From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
Newsgroups: comp.os.minix
Subject: What would you like to see most in minix?
Summary: small poll for my new operating system
Message-ID: <1991Aug25.205708.9541@klaava.Helsinki.FI>
Date: 25 Aug 91 20:57:08 GMT
Organization: University of Helsinki

Hello everybody out there using minix -

I’m doing a (free) operating system (just a hobby, won’t be big and
professional like gnu) for 386(486) AT clones. This has been brewing
since april, and is starting to get ready. I’d like any feedback on
things people like/dislike in minix, as my OS resembles it somewhat
(same physical layout of the file-system (due to practical reasons)
among other things).

I’ve currently ported bash(1.08) and gcc(1.40), and things seem to work.
This implies that I’ll get something practical within a few months, and
I’d like to know what features most people would want. Any suggestions
are welcome, but I won’t promise I’ll implement them :-)

Linus (torvalds@kruuna.helsinki.fi)

PS. Yes – it’s free of any minix code, and it has a multi-threaded fs.
It is NOT protable (uses 386 task switching etc), and it probably never
will support anything other than AT-harddisks, as that’s all I have :-(.

The person was Linus Torvalds. And the software was an operating system that has come to be known as Linux.

Today the open source world has matured with enterprises using open source up the value chain. In the early days open source software was used to power the physical servers. This gradually shifted towards running a database or a web server running on top of the operating system. Gradually with time several open source languages became popular such as PHP, Python and solutions started being developed using open source technologies. Today we have end-to-end solutions that work out of the box covering several areas of enterprise software. That in my opinion is the top of the value chain.

The next article will dwell on the definition and history of open source. Keep reading!

3 comments:

  1. Some other popular things out there that lots of people use is also based on open source... Like iPhones, iPads and what-not. While the iOS on them isn't open source, its origins are the open source BSD Unix...

    I've also worked with tools before that are free, as in speech, but not free, as in beer... We paid for them, and the software developers included the source code so that my company or team could extend and expand it to suit our needs.

    ReplyDelete
  2. Yes and so is the Solaris operating system. Both were derived from the Berkeley Software Distribution (BSD) kernel. I think we all use the tools during some or most part of our development. However the adoption is not conscious. We use some of the tools because they are free. Not necessarily because they are open source.

    ReplyDelete
  3. Today, by the way, is the 20th anniversary of Linus's email that you mentioned in the post...

    There's some discussion on Slashdot about it...

    ReplyDelete