Software Tools - The essentials of the software development community
by Russell Miles
Related link: http://www.oreilly.com/catalog/hackpaint/index.html
I don't normally come up with the more philosophical or 'state of the union' type blogs that I enjoy reading from other contributors but I wanted to share my thoughts on a subject that's very dear to my heart (as well as my job , spare time and hobbies!). That subject is Software Tools.
After I finished reading the book 'Hackers and Painters' from O'Reilly (excellent book by the way: accurate, interesting, thoughtful, personal and written with a sense of humor that makes it a truly enjoyable read) I really got to thinking about what makes a difference to how I work every day. I'm a software developer and the easy answers would be things like 'Java' or 'Object Orientation' or even 'Aspect Orientation' but what enables all these things was the question that started to bug me. Is it open source, free software, hard work and sweat or a combination of all of these things and more that combine to make my coding day much more of a pleasure that it would normally be.
Open Source and Free Software combined have given us Operating Systems and Applications galore. From kernels to word processing to graphics and photo editing through to video and music playback - it's all out there and it's free or at least open.
But what's the one thing that's been there from the beginning? I mean, apart from the figureheads, contributors and activists that make up these different but intertwined communities such as Richard Stallman, Linus Torvalds et al. From the beginning open source and free software (I believe there is a distinction, others are welcome to their own opinion) have had at their very core the development of software tools.
Even proprietary software development owes a huge debt to the software tools it uses and provides. Just take a quick look at the often great tools from software houses such as Borland, Sun and even, yes, Microsoft. Tools are crucially important in future technology adoption and I don't think anyone should underestimate that.
Ever since we climbed out of the primordial soup and developed digits we've been building tools. It's something that's at the very core of our existence, and it can't get much more philosophical and fundamental than that! When Richard Stallman began his crusade towards a free operating system he began it with the tools by which such a goal could be achieved. Tools that were then picked up by people who wanted to realize the vision of free operating systems and applications such as Linus (ok, the goals may have been simpler at the time but the end result speaks for itself). Tools are the first step in building anything, and that's a fun paradox to begin with! Ask yourself 'what came first, the tool or the software ...' and it can tie your head in knots.
Tools are the often overlooked aspect of the hacker ethos. Not only are we spurred on to get closer to the machine, to develop more and more complex and beautiful software, to share and communicate, to intellectually challenge ourselves or to simply have some fun with these interesting boxes. We want to make things easier for ourselves and our community to attain these goals, and that is why we develop tools and why tools are crucial to the enjoyment of software development.
Whew! now I'm getting into very dark and geeky waters so I'll sum things up. What's my point? I'm not sure I have anything profound to point out and some would call what I do have common sense.
My point is simply this, that without open source, free software and even proprietary software development tools we'd all be much sorrier computer users than we'd ever realize because without those tools we'd have nothing.
So my thanks go out to anyone that has developed tools in the past, and my strongest encouragement goes out to everyone to get involved in software tools development projects whether they be open source, free or proprietary depending on your inclination. Get involved now if you are not already doing so because nothing makes this industry richer and brings us closer to the killer apps for technology of the future than the development of tools today.
Without open source and free software my software toolbox would be pretty sparse, what would yours be like?