| By Yakov Fain | Article Rating: |
|
| October 1, 2005 06:00 PM EDT | Reads: |
25,788 |
In the first article of this series (see http://java.sys-con.com/read/108260.htm), I "bought" a gas station with a convenience store and a repair shop and started to think about automating this small business using various Java technologies. This time, I'm getting a crash course on open source software.
Mentality Shift
The most surprising thing is how quickly my programming preferences have changed after I left the corporate world and started working at my gas station. I used to easily recommend expensive software tools, application servers, RAID devices, grid servers, and fiber optic connectors. Need scalability? No problem. We'll create a cluster of two 8-CPU application servers. Let's allocate another $100K for the server licenses for our development, UAT, and contingency environments... But now I'm buying coffee beans in bulk quantities for my convenience store trying to save a couple of dollars. I'm wondering if CIOs of large firms know how much money has been spent just on unused software licenses? Oh well, it's none of my business, I've got a customer: "$20, regular, credit card"... Oops! The name on the card reads Bernard Golden.
"Excuse me, sir! Are you by any chance the author of the best-selling book Succeeding with Open Source?"
"Yes I am, but what makes me famous at a gas station?"
"I'm pumping gas during the day, but I read IT books and write Java programs in the evening. At this point I'm trying to figure out if I can use the open source software in my small business. Please help."
Bernard kindly agreed and here's our conversation.
What Is Open Source Software?
Yakov: Professional programmers make a living by developing software. On the other hand, there is large community of people who are willing to donate a couple of hours here and there to add a piece of code to an open source project without being paid for it. Why would they do this?
Bernard: There are a number of common reasons, and each contributor has his or her own combination of those reasons. First and foremost, contributors are often donating a piece of code that makes the product work better for them. Because the source of the product is available, they can improve it to better run in their environment. Contributing it makes sense because that way their fix becomes part of the mainstream code base and they don't have to reapply their changes to each future release of the product.
Other contributors do so out of interest in the technology - contributing allows them to explore a personal interest - and all of us benefit from their interest.
Other contributors are developing their skill set to enable them to obtain a better job or set them up for more interesting work in the future.
What's great about open source is it enables all of us to benefit from those individuals' creativity and passion.
Yakov: In 1999, I was hired by a large firm for a WebSphere project even though WebLogic was more popular back then. When I asked the manager why they chose IBM's application server, he replied, "We want to be sure that the company will be still around in 10 years." What if the key developers of a particular open source project lose their interest and stop working on it?
Bernard: The truth is you don't know if the key developers of a particular project will choose to remain involved with it. It makes sense to look at the size and quality of the development team to form an opinion about its capability and likely dedication to the project. That said, there is a pretty strong ethos in the open source community to arrange for a successor in the project, and most (if not all) projects with a strong community never face the issue of developer abandonment. Yakov: Does the term open source software really mean free software?
Bernard: Free is an ambiguous term in English, meaning both no cost and complete liberty. Open source is, at base, about liberty: liberty of use, liberty to modify, liberty to redistribute. Nothing in open source licenses forces the software to be distributed at no cost; however, the realities of unlimited distribution typically mean that software is distributed without license fees. Of course, many companies like Red Hat, JBoss, and Zope distribute their open source product with no license fee, but charge for additional services like support and training.
Yakov: I'm too busy with my customers and won't have time to contribute to any open source project. But I'd like to have all these liberties at no cost for automation of my small business. To be honest with you, I'm also thinking of selling some of my solutions to my fellow gas station owners. What type of software licenses fits my objectives?
Bernard: There is no blanket - or should I say mechanical! - answer. Open source licenses, broadly speaking, fall into two camps: so-called Berkeley licenses and GPL-style licenses. Berkeley-style licenses allow recipients of open source software to modify and redistribute without making the modified source code available, while GPL-style licenses require source availability if the modified open source product is itself distributed.
Depending on whether you're modifying an existing open source product or creating your own product from scratch, and even how the product is architected and distributed, makes a difference about the requirements and implications of the license. Before doing anything, you should understand these issues. Otherwise, you may find that your commercial product is really an open source product, with all that entails. An excellent resource for this subject is Larry Rosen's book Open Source Licensing: Software Freedom and Intellectual Property Law (Prentice Hall PTR, 2004).
Yakov: Should I be aware of any potential legal risks in this area? Say, for example, I've changed 10 lines of code of some free Java component to improve its functionality. Do I have to make these changes available to the entire world to avoid legal issues?
Bernard: The rule of thumb in open source is that any changes you make and use internally are perfectly fine. The challenge comes if you distribute the modified product, depending upon the license of the original product. Again, Rosen's book can provide a lot of help in this area.
Published October 1, 2005 Reads 25,788
Copyright © 2005 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Yakov Fain
Yakov Fain is a Managing Director of Farata Systems, consulting, training and product company. He has authored several Java books, dozens of technical articles. SYS-CON Books released his latest co-authored book , Rich Internet Applications with Adobe Flex and Java: Secrets of the Masters in Spring 2007. Sun Microsystems has nominated and awarded Yakov with the title Java Champion. He leads the Princeton Java Users Group. He is an Adobe Certified Flex Instructor. Yakov co-athored the O'Reilly book "Enterprise Application Development with Flex". He twits at twitter.com/yfain.
![]() |
danny 12/14/05 01:18:11 AM EST | |||
A worthwhile read - thanks. Two corrections: Danny |
||||
![]() |
Andrei Ivantsov 09/27/05 07:27:20 AM EDT | |||
The correct link to OSMM @ navicasoft.com is http://www.navicasoft.com/pages/osmm.htm |
||||
- It's the Java vs. C++ Shootout Revisited!
- Patterns for Building High Performance Applications
- Asynchronous Logging Using Spring
- Java for Programmers (2nd Edition)
- Cross-Platform Mobile Website Development – a Tool Comparison
- Three Buzzwords That Every CIO Hears but One They Should Listen To
- Write Once Run Anywhere or Cross Platform Mobile Development Tools
- Immersing into JavaScript Frameworks
- Workday Reportedly Prepping to Go Public
- Cloud Expo New York: The Java EE 7 Platform - Developing for the Cloud
- Book Review: Sams Teach Yourself Java in 24 Hours
- OpenOffice.com Lives
- Book Excerpt: Introducing HTML5
- Adobe Sends Flex to the Apache Foundation
- Five Years Waiting for JRE 7: Is It Justified? (Part 1)
- Book Excerpt: Java Application Profiling Tips and Tricks
- i-Technology in 2012: Five Industry Predictions
- It's the Java vs. C++ Shootout Revisited!
- Patterns for Building High Performance Applications
- OpenXava 4.3: Rapid Java Web Development
- The Next Web Architecture
- Asynchronous Logging Using Spring
- Java for Programmers (2nd Edition)
- Is Write Once Run Anywhere Ever Going to Be a Reality?
- A Cup of AJAX? Nay, Just Regular Java Please
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- JavaServer Faces (JSF) vs Struts
- The i-Technology Right Stuff
- Rich Internet Applications with Adobe Flex 2 and Java
- Java vs C++ "Shootout" Revisited
- Bean-Managed Persistence Using a Proxy List
- Reporting Made Easy with JasperReports and Hibernate
- Creating a Pet Store Application with JavaServer Faces, Spring, and Hibernate
- Why Do 'Cool Kids' Choose Ruby or PHP to Build Websites Instead of Java?
- What's New in Eclipse?
- i-Technology Predictions for 2007: Where's It All Headed?



















