Tech Talk: Open Source… Open Security?

Open Source is an often misunderstood or misrepresented concept.

All Richweb-developed applications are built using open source technology, which sometimes gives our clients pause...until we provide some explanations.

So what does this mean ?

Open Source simply means that the source code that tells the computer programs and operating systems what to do is available to anyone and everyone that wants to download it and look it.

Think of Open Source as a big forum where there is a free exchange of information and ideas between multiple companies, organizations, and even governemnts.

Put another way ...

Open Source is computer code that is open to the public for inspection, not closed and secretive and held by one company exclusively.

If you hear people talking about "LAMP" platforms, well they are talking Open Source !  LAMP means:

L inux  (what runs the computer)
A pache (the web server running on the computer)
M ySQL  (what stores your data - i.e. the database !)
P (Php/Perl/Python)  (what language the computer code is in)

Why is this important ?

Well, when you are making software you are not working in a vacuum; your programs must interoperate with other software and systems that are running on your customers' computers and servers, as well as third party systems. It is usually much easier to build programs that can talk to each other (this is what he often used term "integration" means, by the way) when you can see how each of the programs actually works.

When you have to guess as to what another program is doing, then your program may talk to it in such a way that you may have a crash, or other bugs may creep into the picture.

Its like two people that speak different languages trying to talk to one other with a translator that is having to guess at what some of the words mean that she is hearing !

Another important point to understand is that while your application or web site may by built on top of Open Source code it does not mean in fact that your application is public domain and anyone can come in and take your code.

One of the reasons that many development shops use Open Source software as building blocks or foundations for other software is the guarantee that those building blocks will remain available and open. Many software companies that sell database engines, or web servers, or programming toolkits that are NOT Open Source will provide access to the code once you buy a copy.  But what if that company goes out of business, or is sold to another company that drops that product and does not issue a new license. The programmer and her customers are stuck !

This is the primary reason why using Open Source software as a foundation for technology can give you advantages. We dont know what the future will bring. But having control over whether or not your foundation will be available can be very important.

But can you catch a virus from Open Source software ?

Not really, but it is possible for *any* software to have bad codes inserted into and distributed.  In theory if the software is Open, then anyone canfind the bad codes quicker. If no one but the company that writes the code has access, then no one will know unless that company (A) finds it and (B) admits what happens.  Richweb takes caution only to use Open Source packages that are extremely well audited by the community. We avoid packages and software that are not well tested and well known as these do carry a much higher risk level of having poor quality, or "backdoors" that let people get into your data that you dont want to be there !

To summarize some points about Open Source:

  1. Foundations can be Open Source, end product does not have to be. Whether you want to license your code to the public is YOUR choice. Almost customers running on Open Source platforms do not in fact, do this.
  2. You dont have to start from scratch; leverage the building blocks that are already available. This reduces your time to market.
  3. Be careful when using building blocks that are NOT Open Source - you may lose your license to use them, or find the company no longer makes them or charges more than you want to pay, and you'll have to start over !
  4. Cost - Commercial database servers can cost many thousands of dollars. Most applications (95%) will run well on databases such as MySQL, Firebird, or Postgres. When applications cost less you (the customer) saves $$$ !

For more information: http://www.opensource.org

Close Window

 

© 2005 Richweb, Inc. All Rights Reserved.