| By Orion Letizi | Article Rating: |
|
| June 23, 2008 12:15 PM EDT | Reads: |
7,175 |
Commercial open source software has arrived. There have been commercial sponsors of open source projects for a long time, but the recent spate of high-price (for open source, at least) acquisitions of companies with open source products at the core of their business has made a splash in the technology industry. In addition, Sun’s convulsions into the open source world have left the Java landscape decisively in open source territory.
Is this recent trend toward commercial open source good for open source software? Is it good for the Java developer? Is the utopian spirit of the open source movement about to get crushed by greed, profit seeking, and evil corporate maneuvering? Well…let’s see.
Open source software has had a clearly beneficial impact on the tools we use everyday. It provides a rich and varied ecosystem where technologies can compete purely on their merits in the hands of the people who actually use them. This ecosystem allows the virtues of natural selection to shape the tools, libraries, and frameworks we use to get software built.
As a result of this healthy selection pressure, the open source projects that gain widespread adoption and thrive are those that solve real problems in the best way. Technologies that fail to solve problems fail to gain acceptance and die. The open source landscape is littered with the carnage of this competition. Sourceforge, for example, is strewn with the corpses of thousands of projects that, for one reason or another, couldn’t compete and therefore died.
In stark contrast, the monolithic piles of technology offered as complete solutions from proprietary software vendors look increasingly like sleepy isolated atolls whose pace of innovation is far outstripped by the technologies on the open source mainland. Of course, competition in the marketplace exerts selective pressure even on proprietary software. However, because open source software is, in general, more freely available than proprietary software, the adaptive process happens much faster. If you’re a developer living on one of those insular vendor islands, you’re often presented with a “solution” to every problem. Unfortunately, the solution is seldom best of breed and may not actually work.
In a previous life, before working on Terracotta, I was a software architect on one at the largest retail Web sites in the world. We built a software stack out of best-of-breed components, most of which were open source. We used Apache as our Web server, Tomcat as our application server, Linux (though, later, we switched to Solaris x86) as the server operating system, and many smaller open source libraries to solve specific problems like database connection pooling. We also had some very expensive proprietary load-balancing hardware and an even more expensive proprietary database server. But, everything we assembled was the best implementation of its function that we could find.
There were a number of services, however, that we couldn’t find solutions for, either proprietary or open source, that we had to build ourselves. Specifically, we were forced to build a sophisticated caching infrastructure (which, incidentally, informed much of the thinking that led to Terracotta). But, the openness of our platform allowed us to integrate our solutions into the software stack. There were a number of times when we cracked open the Tomcat source code to add our own improvements and to provide hooks for our bespoke solutions.
Published June 23, 2008 Reads 7,175
Copyright © 2008 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Orion Letizi
Orion Letizi is a co-founder and software engineer at Terracotta. He has worked in enterprise Java for nearly 10 years. Before Terracotta, he was a software architect at Walmart.com.
- Kindle 2 vs Nook
- Why IBM’s Server Chief Got Busted
- Industry Experts Discuss the State of Cloud Computing
- Cloud Computing Expo: Exclusive Q&A with Yahoo! SVP Cloud Computing
- Performance Tuning Essentials for Java
- Confessions of a Ulitzer Addict
- It's the Java vs. C++ Shootout Revisited!
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- Ulitzer Aid Campaign for the Typhoon Ondoy Victims
- Cloud Computing Can Revitalize Your Career as Software Developer
- A Brief History of Cloud Computing
- Oracle & Cloud Computing: Exclusive Q&A with SVP Richard Sarwal
- Kindle 2 vs Nook
- Cloud CEOs, CTOs & SVPs to Speak at 4th International Cloud Computing Expo
- Why IBM’s Server Chief Got Busted
- Industry Experts Discuss the State of Cloud Computing
- The Difference Between Web Hosting and Cloud Computing
- Cloud Computing Expo: Exclusive Q&A with Yahoo! SVP Cloud Computing
- Performance Tuning Essentials for Java
- Ajax in RichFaces 3.3, JSF 2 and RichFaces 4
- Confessions of a Ulitzer Addict
- It's the Java vs. C++ Shootout Revisited!
- The End of IT 1.0 As We Know It Has Begun
- My Thoughts on Ulitzer
- A Cup of AJAX? Nay, Just Regular Java Please
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- The i-Technology Right Stuff
- JavaServer Faces (JSF) vs Struts
- 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
- What's New in Eclipse?
- Why Do 'Cool Kids' Choose Ruby or PHP to Build Websites Instead of Java?
- i-Technology Predictions for 2007: Where's It All Headed?






























