Monday, September 11, 2006

Understanding Open Source in the Philippine Setting

the internet has accelerated many radical changes in software development, one that has affected how countries like the Philippines take advantage of what appears today to be a near limitless reservoir of knowledge largely untapped. in the great hope of accomplishing this, Representative Teddy Casino has a draft bill that seeks: to define the procurement of software and software licenses in government agencies, promote the development, and use of free/open source software (foss), declaring illegal the patenting of known foss and standards or any other derivatives thereby amending section 22 of RA 8293 otherwise known as the intellectual property code of the philippines and for other purposes. this piece of legislation is a welcome development yet one must look at it with open eyes.

the existence of this bill raises a lot of questions. what is open source? how has open source help change the world? what does this have to do with the bill being presented to us? what is this bill saying? how relevant is it to the Philippine setting? this blog post will attempt to resolve these questions. it is divided into three sections: (a) Open Source (what it is, what is it all about, a brief history, etc. in as simple as i can manage it), (b) how can this benefit Filipinos, (c) the bill as introduced by Rep. Teddy Casino, which we will pick apart.
edit: this post is somewhat long. you may skip section a, if you are already familiar with open source and move forward to the others as that section is mostly written for the uninitiated.
this is what i know about this subject. i have been using open source since before the dawn of the 21st century. my first exposure was in using linux, an open source operating system that was built by Linus Torvalds and his creation by far, is the most recognizable example of an open source project and my preferred distribution is gentoo linux which allows you to design and deploy linux in just about any conceivable configuration you can imagine, limited only by your skills. there is no greater liberating feeling like getting into the guts of a computer system, understand how it works and put it together. others--- mechanics, hotrod builders and pioneers of all sorts could probably feel something similar. then you find after mastering a certain skill level finding you know less than than what is out there. so you advancing to the next horizon, the next mountain, the next challenge that raises your skill level to a higher notch and discover there is much to learn.
a. open source

what exactly is open source? the open source definition is like the bill of rights for software--- it allows anybody to view the underlying source code, gives you the right to modify it to meet your needs but any change you make must be made freely available in the same manner that you acquired the source code. it also doesn't discriminate in so far who is only allowed access and modification to the code. these are the basic principles of open source development. these freedoms allow a person to tap into the huge reservoir of talent across the planet and for the exact definition please point your browser to the open source initiative website.

to simplify, writing software is like writing a recipe. open source software is a recipe that everybody can have access to recipes. how to cook fried chicken can be done in myriad of ways. nobody owns the idea of how to cook fried chicken. everybody knows the basic process-- simply fly the chicken. your grandmother may have her own version. your aunt may have his. your dad may have his. open source allows you access to their knowledge. they'll let you in on their process. how they do it. then you can add your own variation and when your son or daughter comes along and asks you how to cook fried chicken, you show them your way. they can also ask others for the recipe and add their own variation. there are companies that have their own fried chicken recipe--- they simply add to the basic idea but keep it their secret, like maybe secret spices that add flavor or value to their product. this too is acceptable as open source.

some companies on one hand develop software that is entirely designed by their team. this is the traditional way of doing things. companies like Microsoft build software through teams of people that they hire. this is what is called "closed software". they don't allow you to see their recipe, only that you can eat the finish product.
a more in depth analogy of these two development processes was made by Eric S. Raymond. Closed Software development--- like those of Microsoft, he called the Cathedral Model and the Open Source method--- the Bazaar. His work is entitled The Cathedral and the Bazaar and may be of interest to you and it is a freely available at that link.
in the Philippines, a typical PC will cost PHP20,000 (approx US$400, at PHP50 is to US$1). this is the price of a mid-range mobile phone, so anybody who can afford to buy such a phone, can afford to buy a PC or can they? this price is just the cost for the hardware. paper weight to be exact because it won't run not without adding software. typically people will buy Windows. It is an operating system that runs your PC. the cheapest Windows version costs an additional PHP8,000, more or less--- but it doesn't do much. it doesn't even let you do word processing, a typical requirement for any school age child. add the cost of Microsoft Office which costs PHP10,000 or so and your PC will set you back an easy PHP38,000.00 (US$760, PHP50 to US$1 exchange rate). Per Capita income in the Philippines is about US$1,000, more or less.

enter linux in the early 90s: Linus Torvalds was in university and was studying minix--- its a operating system mainly used in academia and he wanted to learn the principles behind unix. so he decided to build his own kernel. Linux technically speaking is just the Kernel--- its that thing that controls your pc, much like a brain does. as the story goes, he uploaded it and pretty soon people began adding to it. this is hacker mentality at its finest. hackers see these things as challenges, something to learn--- they have infinite capacity to learn, to want to learn and love a good challenge. pretty soon it grew and grew and grew and companies like Red Hat, Suse and many others began to form around Linux. they began offering what typical software vendors like microsoft would do--- sales, product training and support.

just about anybody can download a copy of the linux kernel. they can study it. they can add changes to it, maybe they have a Flash Drive for example or a new mouse port or a sound card or a video card and they'll add those driver support to the kernel and they upload it. Linux is an Open Source project--- probably, if not the most successful and most famous of Open Source project. it is not open source. linux is an operating system whose development cycle is based on the principles of Open Source.

An open source project to be successful requires the forming of a community around the project. it means people with similar interests in the project get together and build it, sharing their expertise. it is no different from say the Rotary Club or a Computer Club or any organization for that matter--- people from all walks of life, of professional expertise come together and build something. there can be rules or hierarchy similar to or even rivals the best corporations in the world. these communities have made linux a critical success and linux distributors (typically formed around communities) have made linux a commercial success.

None of these Linux Distributors own linux, no one does, not even Linus Torvalds. (well Linus did register the name Linux and protects the trademark just to ensure no one plays with it.) Linus isn't as rich as Bill Gates. he doesn't own billions. he has profited from it sure, and is a paid developer of the Open Source Development Labs, yet this thing he has started has created a multibillion dollar industry. Linux Distributors, companies like Intel, AMD, IBM, Oracle and many others who are often competitors with each other contribute to Linux development by assigning paid staff to help innovate and develop in kernel space and in applications for linux. Linux is a community. it is made up of developers who actively contribute, who reside all over the Earth, who have various interests all making this thing workable. there is an entire ecosystem built around linux.

anybody can simply download a linux distribution online. the size can be small--- 10MB (CD-ROM size) to 4GB (typical DVD size) or more. it would depend on what distribution you would like, your purpose or configuration. typical, a CDROM size image (~700MB) can be downloaded (see links below) and you can simply burn into a CD and install it on your own.
what would you typically need? a DSL speed internet connection to download, a computer to download the CD to, a CD writer to burn the CD image to a CDROM and thats about it. or you can ask for a free cd from the Ubuntu Project, or buy a linux distribution cd. you could also ask members of the Philippine Linux Users Group on how to acquire a Linux distribution CD.

why does Microsoft take pause when confronted with Open Source Development? Simply put, it is a misunderstood concept. it is counter intuitive to common practice. Share trade secrets with your competitor? make it freely available so that even a high school boy with only his computer and an internet connection can build the next best software phenomenon? surely the world has gone mad.

Once upon a time, writing was the privileged of a few as was massive access to books. what has history taught us is that by spurring knowledge, we create innovation. the Internet has enabled a revolution in software development. it has created the means to lower Research and Development Cost and levels the playing field so that just about anybody, with access to the same material can create, can innovate. this is the most misunderstood and quite frankly, freighting experience.

How else can Apple Computer build such a successful Operating System renowned for its user experience at a fraction of the billions of dollars Microsoft as invested in Research and Development if not for Open Source? Yes, Apple is one of many companies that use Open Source and though their model is different from the one employed by Linux Distributors, but no less open or innovative.

When you look at open source as a development model, as a philosophy--- a way of doing things, then you begin to understand that it isn't some product or company to attack. it is an ideal that has spurred projects together. an open source project can therefore be as big a failure as any initiative conducted by a corporate using old-style Cathedral model. to have a successful open source project--- there has to be a need and a community of users willing to devote their time, effort and skills to make that project work with the hacker mentality serving as impetus and propel forward and in effect sustain it subtly.

b. How can the Philippines take advantage of this?

In a country where our priority isn't exactly technological advancement, the low cost of entry into priceless research is invaluable. Open Source provides that foundation. Ordinary people of all ages can simply just log on to the internet and be able to innovate with a ton of information just waiting to be processed. Open Source can push further not just our Information Technology sector but our electronics industry and many others. it can help spur innovation, can enliven it in our country, if only we can see it.

It gives a whole new dimension to "mobility" and "flexibility". Corporation around the world have seen that this is the only way to continue forward with research and development, given constraints on their budgets--- get more bang for your buck. Apple, IBM, Intel, Nokia, Sun--- are just some of the big names that have in one way or another embraced Open Source. You don't need to spend a whole lot of money on development costs to achieve the same goals as a Cathedral-style of development would. by working together, profits can be made. by building on the shoulders of giants and by working along side them, an open source project can be successful and can be taken advantage of by just about anybody and Filipinos everywhere should take advantage of this.

Kids of all ages, with the proper motivation, with the proper infrastructure in place, Filipinos can build on this today and for tomorrow, if only the access is brought down.

c. the bill

we have already given the title of the bill--- which is quite a mouthful really as it attempts to do several things at the same time. the short title is likewise a misnomer in that it is called the free/open source software act of 2006.

section 2 of the bill is sprinkled with nationalistic views, which highlights "them and us" mentality that to be blunt goes against the very idea of open source and in essence the global culture that has no national boarders. this development phenomena goes on 24/7 irregardless whether or not one is American, European, Asian--- and people are judge in cyberspace by the merits of what they deliver and not by the racial colors we attach to people. contribute and contribute well and you will have earned the community's respect.

the bill's definition of open source is lifted from the definition of the open source initiative. which is good really as this is a bill of rights for software and it is certainly good that the government recognizes free/open source as a development model.

the bill's strongest point is the encouragement of using and promoting its use in the academic setting. this is most important in that it lowers the access requirement for school children to learn technology. we've already seen how curious, how technology savvy the next generation of kids are with their cellphones and such--- lets give them something to really think about and build upon, instead of mindless quest to join the newest reality tv show. heck my first computer was when i was 10 and i learned how to program when i was 12. these kids can do it better and younger.

by encouraging the adaption of open source, we give our children the means, the method, the space to explore this diverse, multicultural world that will at the very least broaden their horizon and maybe spark a generation of children who can be more than call center agents but scientists, researchers, animators, developers. all the tools for those occupations have software built entirely on open source that are powerful, learnable, and accessible for anybody.

these are just some examples that doesn't even make up a tiny bit of the wealth of information and tools available today for use of anybody with the will, the effort and the drive to make use of:

animators
  • blender.org -- an open source software for 3d modeling, animation, rendering, post-production, interactive creation and playback. it is robust, powerful and free for use and available for all major platforms--- windows, linux, mac os x.
  • gimp -- a freely distributed piece of software for such tasks as photo retouching, image composition and image authoring.
developers
  • gcc (free C/C++ compiler),
  • eclipse -- free software development platform for Java, C/C++ and many others, python --- powerful scripting tool
  • mono provides the necessary software to develop and run .NET client and server applications on Linux, Solaris, Mac OS X, Windows, and Unix.
  • php: a widely-used general-purpose scripting language that is especially suited for Web development and can be embedded into HTML
  • ruby on rails: powerful web development platform
researchers:
it is good that this bill can greater spread the word about these technologies.

this is where this bill fall short of.

the bill aims for the "adoption of a mechanisms to ensure fiscal discipline in the purchase of software, without compromising the state’s security and the stability and robustness of the country’s ICT infrastructure" and it endeavors to promote the use of the open source development model.

section 6.1 says: "The Government shall only use ICT goods and services that are, support and / or interoperable with open standards, protocols or specifications" is good so far as it helps promote a level the playing field, which is the task of every government.

here's where the water is really muddled.

i shall quote this text:

6.2.Use of FOSS – The government shall apply only FOSS or FOSS solutions, as
defined in section 4 of this Act, in all ICT projects and activities;

6.3.Extraordinary circumstances – There may be extraordinary circumstances which may render the use of FOSS and Open Standards almost impossible for government use. They may include but are not limited to:

6.3.1 where there is no reasonably available ICT good or services supporting
open standards in the field, area or activity that the Government intends to
enter or participate; or,

6.3.2 Where a particular government agency or office has existing, widely-used
and widely implemented proprietary ICT system and there are no reasonably available technology using open standards that can be used with the said proprietary system.

6.4.Limitations of Proprietary Software and Standards in Government Use – Should there exist extraordinary circumstances as enumerated in Section 6.3, the
government may use proprietary standards and software subject to the following
conditions:

6.4.1 The state shall procure, purchase or acquire software that offers license
most similar to FOSS as defined in Section 4 of this Act;

6.4.2 Open standards and FOSS will be selected and given preference when
existing systems are to be retired or need major enhancements; and,

6.4.3 Basic upgrade and software patches will be provided by the vendor to the
state free of charge;
now, as i've mentioned at the beginning of this post that i have and continue to use free/open source software but i have major issues with this section of the bill.

what it endeavors to do is to force only open source solutions. it forces only software that is "free" or "freely" available. it twists the very idea of open source software and takes it to the extreme. first, open source doesn't answer every single problem, and neither does it always provide the best solution for a given circumstance. second, we know from experience and history that open source is about people, about community of users and developers coming together to create and develop projects. it is people who make successful open source projects and communities. there maybe a need by the government that has it as the only user and developer, in which case will it survive as an open source project?

take Apple Computer for example. they create software, which is based on Open Source and adds their own proprietory software on top of it. they have created essentially the finest, well polished desktop that gives you the power of the Unix world and makes it easy so that grandma can easily use the computer. this is innovation at its finest. this bill effectively blocks the use of Apple hardware and software.

Oracle and Postgresql are technology companies that specialize in databases. these are software that helps you "file" information with like employee records, bank records and such. Oracle is closed source while postgresql is based on a bsd license. does it mean therefore just because Oracle is closed source, the government will not be able use it? what if between these two solutions, all things being equal--- Oracle has that added little thing that a particular government agency may need. does it mean that it is out of the picture?

Microsoft perhaps is the best known of the closed source companies. they make particularly good enough software like Windows Vista. Does it mean that every agency in the government will start using Linux in their laptops?

aren't there circumstances wherein these choices--- these companies can offer value to the government. the bill has this exit clause:
6.3 Extraordinary circumstances – There may be extraordinary circumstances which may render the use of FOSS and Open Standards almost impossible for government use. They may include but are not limited to:

6.3.1 where there is no reasonably available ICT good or services supporting
open standards in the field, area or activity that the Government intends to
enter or participate; or,

6.3.2 Where a particular government agency or office has existing, widely-used
and widely implemented proprietary ICT system and there are no reasonably available technology using open standards that can be used with the said proprietary system.
it doesn't make sense. this section of the bill doesn't encourage innovation, doesn't ensure that our taxes are put to good use and instead encourages less thinking and constrains government from using the best tools available. what if some Filipino developer comes along with closed source software that he has developed himself and it is a particularly good piece of software that government will have value in using. does this mean, he is out of the picture?

government should be encouraging a free market--- a liberal, fair open playing field. it should use the best technology that it needs and can afford. it shouldn't give open source developers a crutch like this and kill innovation in other companies that don't necessarily subscribe to this philosophy because open source/bazaar development is a methodology, a philosophy, a way of doing things and not an end product and certainly not a socialist banner to be pranced around.

let every government agency decide what tools they can use based on their need, based on the mission parameters and based on which one gives the greatest value, biggest bang for our buck.

i have a Mac and i'm writing this blog on a Mac. do you know what i have in this? NeoOffice--- an open source counterpart based on OpenOffice as a replacement for Microsoft Office. i have Camino and Firefox as my browsers. i have MPlayer for OS X to watch movies with and i have skype to call people with. i access my Gentoo Linux server at home using secure shell, both are open source solutions. i have built my own development environment--- apache, php, ruby on rails and gcc. those products are all open source. but you know what? i have Xcode to do my development work, which works with gcc. i use iTunes to listen to my music and iPhoto to store my pictures and makes it easy for me to connect it to my iPod. i also use Parallels, which creates a virtual environment so that i can run Ubuntu along side my Mac OS X and these products use closed source or licensed source. why not use an open source version? because quite frankly they don't do it as good as these products. as you can see these are a combination of open and closed source software--- because they work for me. i can do my work as better with these software.

it may not work for other people. they may for instance like using a PC with Windows Vista on it, or a linux desktop. my point is--- not every answer under the sun can be answered by open source and neither by closed source software. they are in general, development models. government shouldn't care how one comes up with the answer, as long as it is bang for their peso.

it is funny, that section 8 says "Right to Derivatives and the Control and Modification Software – In any circumstances, Government shall obtain full rights and control over derivatives, modifications and customizations of software that it uses or adopts." under an open source development environment, you don't own the code or control over derivatives because nobody does own. if the license is GPL then this code goes back to the main source tree and you have no control over it.

likewise section 9 shows nationalistic tendencies once more it says: Preference in procurement of ICT services and goods – In case the Total Cost of Ownership (TCO) of an FOSS or implementing an open standard system is equal to or slightly higher that of proprietary system, the Government shall give preference to FOSS and open standards, provided further that in case there is more than one company that offers FOSS and open standard solutions to the government with almost equal TCO, preference shall be given to the Filipino owned ICT Company. what if the other company offers greater value for the same amount? does that mean that just because you're Filipino, you'll win by default? this bill doesn't encourage Filipinos to be better, or more innovative and it doesn't encourage bang for your buck or fairness or quality of work and goes against the very principles the Open Source method was founded upon.

Section 10 of the bill is excellent that it formalizes the encouragement of the use of open source software in education. these are tools that school children will need yet this bill is entirely silent on what will spur greater knowledge sharing and innovation. this bill lacks the ability to enable the lowest access to the Internet which is the reservoir of untapped knowledge that is even more valuable than forcing government to use open source software blindly. Countries like South Korea, Japan, have the most access to the Network infrastructure. they have made Internet Accecss cheap. We should do so as well including reducing the cost of acquiring and accessing a Computer. These are the most fundamental things that will spur innovation, that will increase the next generation's knowledge and will make them competitive in the future.

D. Conclusion

what is open source? open source and free software is a methodology. it is a philosophy of software development. it is about people who come together to develop software because it will benefit them and they share within the community their knowledge and thereby everyone benefits through the interaction. it is a way of doing things that is inclusive and is based on the principles of hacker culture. it isn't a product or the answer to every problem in the book, though given the right circumstance it could be.

how has open source help change the world? how relevant is it to the Philippine setting? open source can spur innovation. it has changed the balance of power and has leveled the playing field by creating a low access point for anybody interested in doing software development. it is a near limitless reservoir of knowledge, of talent that any Filipino can take advantage of to innovate.

what does this have to do with the bill being presented to us? what is this bill saying?

this bill as introduced by representative Teddy Casino entitled "an act defining the procurement of software and software licenses in government agencies, promoting the development, and use of Free/Open Source Software (FOSS), declaring illegal the patenting of known foss and standards or any of their derivatives thereby amending section 22 of RA 8293 otherwise known as the intellectual property code of the Philippines, and for other purposes" is half-baked.

This bill doesn't understand the guiding principles of open source and free software development. when it says it encourages and promotes open source--- the way it does it is to needlessly lock government's choices in software and systems. it doesn't encourage neither fairness nor equality and neither does it spur innovation nor does it level the playing field. it blindly locks you in and doesn't encourages agencies and government managers to think and decide for themselves what is best for their particular circumstance or need. it takes that away.

this bill shows a lack of understanding of the fundamentals of open source development, of the liberation that the Internet now offers. it misconstrues open source as a product, a common enough mistake, but it is a methodology, a way of life, a process, a philosophy of software development. while it is admirable that this bill promotes free software in education, it does nothing to ensure that this technology reaches those children because it doesn't set the bar low on High Speed Internet and Computer access which remain to be unaffordable except for the few, which by far creates greater impact. it doesn't allow for the fair and responsible use of the Patent system, which by the way needs to meet the 21st century.

open source is a way of doing things, a philosophy that is people-centric and spurs innovation. Filipinos can take advantage of it, right now but it would be of greater help if Government brings down the barriers of access to the Internet and computer access. the bill as introduced by Rep. Teddy Casino, as is, fails to understand that software like any technology is merely a tool. let government agencies decide what is the best tool to accomplish the job. let them decide through fairness and equal opportunity, and that, and this should be the benchmark for every purchase anyway: bang for your peso.

EDIT/ADDED this (1439, sept. 11, 2006):
Related and Interesting Reading:
Microsoft vs. Open Source: Who Will Win?
it is a Q&A with Ramon Casadesus-Masanell and Pankaj Ghemawat, Published June 6, 2006
author: Sean Silverthome

Dynamic Mixed Duopoly: A Model Motivated by Linux vs. Windows (PDF)
by Ramon Casadesus-Masanell and Pankaj Ghemawat

7 comments:

Anonymous said...

Excellent post! I suggest sending a copy to Rep. CasiƱo, he sure could welcome such insights and thoughts.

Still, I'm glad that someone in Congress has finally done something right for a change.

Science and Technology should be given more attention by the government instead of ramming CHA-cha down our throats.

Cocoy said...

thanks! yes, i sent an email to one of the people who sent the proposed bill over at the plug mailing list... hopefully it'll reach his or his staff's attention. hope his bill does some good and not just rhetoric and i hope discussing it can help move things forward.

cheers

Anonymous said...

Another great post.

Oftentimes, the lure of getting something for free and cheaply is enough to make one adopt a particular technology. While open source does have its merits, companies and goverments should also consider the TOTAL COST TO OWNERSHIP. In a nutshell, the "free" cost of a certain software isn't the only cost involved. Usually, free software and open source applications have no warranties with respect to performance and have no technical support (but one can go to the forums though).

If the thing goes down, you can't hold anyone liable and if you need solutions quicky (especially for time-sensitive organizations, they can either arrive soon, arrive in the future, or not arrive at all.

In the end, while you started out with a free cost, the cost to your oganization resulting from problematic performance of the open source application, can, in the long run, cost so much more in terms of lost time, lost data, lost revenues, and lost credibility.

I am not saying that open source is bad. In fact, I use both proprietary as well as open source software.

But as you said - -one should see the whole picture. Total cost to ownership, and not just the initial cost, should be the main basis for making decisions on particular software to purchase/adopt.

I could write more but it will take forever. But I just wanted to throw in additional considerations: switching costs (there are costs to switching as well as learning curves), compatibility with current systems, stability/robustness, and scalability.
So many factors to consider.

Anonymous said...

I failed to comment on this earlier -

I totally agree with your point that to lock in government with its technology decisions isn't the way to go. Let those in charge of making these decisions in government do their work. Let them evaluate what's best. They should have the flexibility to go proprietary, if that's the best way to go, or to go open source, if that's the best way to go, on a case by case basis.

I don't want to make comments about people because I want to stick to issues. However, in my opinion, Teddy Casino represents the breed of politicians that thinks throwing in more regulation is the best way to make things work. Over-regulation will stifle innovation and the ability to adapt to things.

DARG said...

Whew.

@Cocoy.

That is one big read. I'll try to read it. Promise.

@Greg.

Basically, I agree with your argument that the government would best be allowed the option to opt for proprietary software or open source as it deems fit.

However, I must disagree with you on your comment regarding over-regulation. Well, there are two schools of thought in open source, the one that you are advocating and the one that you are against.

Cocoy said...

hi greg and danny,

thank you for your comments. sorry... can't reply in detail... appreciate your comments, was only able to browse through them. looking forward to replying soon to your comments as soon as i get back to manila in a few days...

cheers!

Anonymous said...

Hi !

I'll look forward to hearing the two schools of thought.

My over-regulation comment though didn't pertain to open-source but with respect to the way things proceed in the country, in general. Often, when there's a problem, government and regulations are seen as solutions. Hence, the passage of regulatory measures.

But I certainly want to learn about the schools of thought you mentioned.

Archive