By Paul Smith
What comes to mind when I say sustainable computing? Solar powered web hosting? Energy efficient machines? These certainly play their part, but thinking more broadly, the way software runs the machines we use and the websites we visit mirrors what’s happening in the world at large. The difference between open source and proprietary closed source systems is analogous to collaborative vs. hoarding, durable vs. disposable, and evolutionary vs. wastefully duplicative.
Let me step back, and invite you on a journey.
Think of a software developer as a gardener, and software code as the earth. As a sustainable software developer, you are like a steward of the earth. Built into this culture, especially in the Drupal world, you’re expected to contribute and improve things, in the same way you’re weeding, pruning, watering and otherwise managing a garden.
If you’re in a closed source model, you’re generally only interested in protecting your own little area, and you have no incentive at all for others to improve what you’ve done, because they might do it better and cut into your profits.
In this sense, as open source developers, freed of the constraint of a limited profit motive, we’re all sharing a garden, and it’s in everybody’s best interest to get the weeds out, even if they aren’t necessarily next to our plant. Since more people are working on the same problem, the problem tends to be solved quickly and better, its evolution faster.
How many times have you waited, years, for your software of choice to offer a feature you want?
Along these lines, Drupal can be considered like an ecosystem, and the thousands of modules that create functionality based on it are like different creatures within that ecosystem, each taking their own approach.
There might be 4 or 5 modules that do the same basic thing, like submit a form, for example. They’re each competing for resources, resources in this case being the developers who use and improve them. The best ones tend to rise to the top, just like competition in an ecosystem.
And, with less attachment to a single path to a solution, developers are much more likely to adopt a better option, much the same way as things in the natural world evolve, selecting for the optimum behavior. When this happens, you now gain all those other developers who were working on another module, thus further accelerating it’s improvement.
This, in essence, is sustainability. It’s constant improvement, sharing and evolving collectively rather than stagnating and hoarding.
Along with better serving people’s needs, open source software generally requires far less power, both computing and electrical, to use it. Why? In a global community where cleverness, innovation, and effective collective use of resources is valued, writing efficient code is inherent.
With this increased efficiency, it allows people to use older machines longer, as they can still capably run this software. Beyond the immediate cost, resource and energy savings, longer lasting machines mean less impact from frequent equipment updates.
Readers: There is much more to be said of open source and sustainability’s entwined nature, but let this be a start of a conversation. Let’s talk, below, about the sustainable possibilities software, and technology in general, holds.
Paul Smith is Communications Lead for OpenSourcery, a Portland-based web development firm that is a deep practitioner of sustainability on the human, environmental and technological fronts. OpenSourcery builds lasting and meaningful Drupal websites for companies with a mission.
Image credit: Sean Dreilinger