Green Software Development
Open Source Community 1 Comment »Jim Berets
Vice President of Product Management
jberets@blackducksoftware.com
While this post is not about how software improves the environment, at least not directly, it is about how open source software encourages ‘green’ behavior by developers.
The catchphrase of green is Reduce-Reuse-Recycle. What better way to describe the benefits of open source software?
Reduce. In the green world, this means “consume less”: don’t run two separate errands when you can combine them into one car trip. Many organizations we speak with these days talk about their desire for simplification and “code reduction.” Their motivations range from decreased operating and maintenance costs to increased performance. Code reduction activities include examining existing applications and removing and/or creating reusable components out of duplicate code, and also eliminating unused (or lightly used) applications or software components entirely. Code reduction also includes management processes around incoming code, particularly open source – making sure that new open source software components are not introduced when others that serve the same function are already in use and suitable. The result: more efficient development organizations and applications.
Reuse. In the context of green, reuse means using the same item repeatedly: bring a cloth bag to the store instead of using disposable “paper or plastic.” Why? Less waste. Why do people find open source helpful? It’s the ability to reuse code someone else has already written, and avoid wasting resources (developers, time) re-inventing the wheel. It is also about standardizing on reusable components and versions like, for example, Apache Tomcat, Hibernate, Spring, and so on. The result: lower operating and support costs, and more shared expertise in the development team.
Recycle. Recycling is making something you have already used available for someone else to use, sometimes (but not always) in a different form. Let someone use your baby’s old crib rather than throwing it in the trash. Take a product and recast it into another form for a different use, incorporating the old material: plastic bottles are recycled into plastic decking. How is code recycled? Developers contribute code to open source projects, enabling it to be incorporated into other products or applications. OpenSSL, Expat, and zlib are contributed, and are subsequently ‘recycled’ by Android in cell phones. The result:higher function capabilities for Android with a faster time-to-market and lower development cost than starting with raw materials.
Here at Black Duck we seek to be ‘green.’ We build our applications using a common platform (reduce), use open source when it meets the business’s needs (reuse), and make improvements to projects like Apache Lucene and PostgreSQL (recycle).
Be a Green Coder. Reduce. Reuse. Recycle.
We just delivered a
There were no big product wows nor a substantial change in message from IBM, but Innovate 2010 really galvanized my understanding or Rational’s direction and the Rationale (if you will) behind it. The whole IBM smarter planet thing is far more than marketing hype for Danny Sabbah, Rational’s GM. He’s convinced that software is the future and makes a convincing case.
The new theme this year was software econometrics, the way to manage the development process. Danny is a quant geek and I’m sure this one is his brainchild. Econometrics is a decades old school of mathematical modeling that focuses on optimizing an outcome. Danny uses that term to emphasize that business outcomes have to be the measure of effectiveness in the new world order. Development is a process in the old, factory floor TQM sense that must be optimized to deliver business results.
A recent post on open data from 
Twitter
LinkedIn
Facebook