Open discussion of IT Business

Enterprisey IT Journal

Subscribe to Enterprisey IT Journal: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get Enterprisey IT Journal: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn

Enterprisey IT Authors: Skytap Blog, Application Security, Lori MacVittie, Andy Klee, Yakov Fain

Related Topics: Java Developer Magazine, Enterprisey IT Journal

Java Developer : Article

Dealing with Open Source Software

Part Two

In the first article of this series (see, 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.

More Stories By Yakov Fain

Yakov Fain is a Java Champion and a co-founder of the IT consultancy Farata Systems and the product company SuranceBay. He wrote a thousand blogs ( and several books about software development. Yakov authored and co-authored such books as "Angular 2 Development with TypeScript", "Java 24-Hour Trainer", and "Enterprise Web Development". His Twitter tag is @yfain

Comments (2)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.