The More Things Change, the More They Stay the Same
One of the great things about a community like ACCU is that people care. We care about contributing and we care about problems that affect us all. Maybe together we can do something about them!
Your magazine still needs you!
In my last editorial I found it necessary to remind you that Overload is your magazine and it requires your input. As you can see, a number of you have seized the opportunity and submitted the articles that appear in this issue.
I'm pleased with the response, and I hope that both the authors and the readers will be pleased with the results too. But don't let things rest there - if you have an article, or an idea for an article, then the advisors and I are still here and ready to help shepherd it through to print.
Overload now has a new look and some new authors - the very least you can do is write and tell us what you think!
What makes an Overload article?
At the conference I was asked a number of times about what might be suitable material for Overload. This isn't as easy to answer as it might seem: Overload isn't about a particular language, a particular platform or a particular technology. But it is about helping the readership make better, more informed choices about the way they develop software.
There are many types of article that can do this: but whether it is about a technology, a technique, a design pattern, a development process, good (or bad) practice, or something else, an article for Overload should offer the reader a new way to approach the problems of developing software.
In this issue we have a pair of articles that address aspects of the Singleton design pattern (or, as some might prefer it, "anti-pattern"). Steve Love tells a pattern story about the introduction of Singletons into a project and considers what happens next. Meanwhile, Adam Petersen asks Mr Singleton about his walk-on part in the State pattern - and discovers a notable lack of enthusiasm for this particular role.
We also cater for those that are interested in how clever stuff works. There are a couple of articles that address this: Anthony Williams explains the finer points of implementing menus in CSS and Chris Gibson examines how "boost::bind" works.
An Overload article need not be a definitive statement of the "one true way". In this issue you will find two opinion pieces questioning the received wisdom that comments are good. One of these is Thomas Guest's consideration of "TODO": is "TODO" a part of your programming toolbox? And does it work as well as you'd like to think? Our other opinion piece was inspired by Peter Sommerlad's session at the conference - Peter's agenda was to challenge some myths about software development. He certainly succeeded in getting Mark Easterbrook thinking. (There is more to follow - Allan Kelly was also inspired by this talk to submit an article that we don't have space for this time.)
Overload presumes that its readers are willing to think about what is written in these pages, and not to accept it blindly. These articles are part of a long standing tradition of printing material that may provoke discussion. We've had plenty of debate in these pages over the years, and long may this continue - it sometimes leads in surprising and fruitful directions! If these articles make you think about the way you develop software then I hope you can contribute something to the next issue that continues the discussion.
I should, perhaps, clarify that the pair-programming experience report by Rachel Davies is not the one I alluded to in my last editorial. This is a shame, because it would have been nice to see them together - and to compare conclusions. Unfortunately, like all of us, the potential author of the missing article is busy - and in addition to a day job has recently been working on other material I feel is more important than producing this Overload article. (If I said any more then I'd risk identifying someone who already knows who they are.)
Maybe you can think of a phrase to cover all all these articles. I can't - I just know that these are the articles my advisors and I agree they want to see in the magazine. I hope we are making the right choices. If you think we are not, then please don't suffer in silence (or resign your membership in disgust) - write and let us know.
Digital Rights Management
I know of no safe depository of the ultimate powers of the society but the people themselves; and if we think them not enlightened enough to exercise their control with wholesome discretion, the remedy is not to take it from them, but to inform their discretion by education. This is the true corrective of abuses of constitutional power.
Thomas Jefferson
Judging by a recent thread on ACCU general it would seem that the attempts to restrict the rights of consumers by distributors of copyright material has not appeared on the radar of many of us. This is a shame because we should be far more aware of "digital rights management" issues than the general public.
Even in its current form this isn't a new issue: Richard Stallman has been attempting to highlight it for at least a decade as shown by his entertaining "The Right to Read" article from 1997 [ Stallman97 ]. In that time all that has happened is that the threat to our rights has become clearer and the need to defend them more urgent.
I think my first brush with these problems was in 1998 or '99 - the company I was working for bought a PDF of the ANSI C++ standard. ANSI chose to distribute this with a flag set that prevented text selection for copy and paste - which is a considerable pain when one wants to quote a section of the standard in discussion. Now, I'm not suggesting that they were acting illegally - clearly I could, and did, exercise my "fair use" right by retyping the text I needed. But it is notable that after a bit of lobbying by the C++ community they revised their policy and supplied a copy enabled version both to those that had complained and to new purchasers. What I found annoying was the lack of respect shown in making it less convenient to exercise my rights than it need be.
There are similar irritations with the music industry - I am (and always have been) entitled to play my LPs on a wide range of equipment or to lend them to friends. With electronic distribution of music increasing effort is being made to tie playback to a particular piece of kit (and we all know how quickly that gets replaced). There is nothing illegal about such restrictions - you have the legal right to agree to such terms when you make a purchase.
Of course, even before electronic distribution many of us stretched the "wide range of equipment" beyond legal limits by introducing an audio-cassette into the playback mechanism to make our music available in our cars (the dire quality of commercial audio cassettes was also a factor here). And I suspect that occasionally, people acquired tapes of material for which they didn't buy a copy of their own. The industry wasn't happy about this - but instead of chasing such petty infringements they lobbied government to impose a tax on blank audio-cassettes.
Ever since books have existed they have been lent to friends and associates, and the same has been true of music and video. The right to do these things is under threat.
The move to digital technologies changed things - the marginal cost of reproducing things is negligible. In the early days of the computer industry little though was given to controlling the distribution of software (it was considered ) - but, as the level of investment in software and the benefits from using it became more apparent, many regimes of permissions were experimented with. Some of take a "like a book" approach, some tie use of the software to a particular piece of hardware (either a computer, or a "dongle"), and some actively promote sharing. While the more restrictive approaches are popular with vendors, they tend to inconvenience their customers.
With the move to digital technologies for distributing books, music and movies, the distributors have been attracted by availability of these more restrictive approaches - which prevent us doing what we've always been able, and are entitled, to do with traditional technologies. While it is true that the same facilities that allow us to do this could also be abused to break the law this isn't new (although it has become cheaper and more reliable). More importantly, the current technological solutions are not adequate to prevent serious abuse and serve mainly to irritate customers. (For a particularly eggrarious example of this see [ Russinovich ].)
Given this background I was interested to see a Sydney Morning Herald article [ SMH ] describing proposed changes to Australian law making legal "format shifting" from private collections onto playback devices and "time shifting" (recording programs for later playback). I particularly enjoyed a quote from the Attorney-General Philip Ruddock: Everyday consumers shouldn't be treated like copyright pirates, copyright pirates should not be treated like everyday consumers. Amen!
However, this action is very much against current trends. At the far side of the world a different story is unfolding: "The British Library - "The world's knowledge" DRM'd and for a price" [ Groklaw ]. It seems that libraries are also introducing restrictions on the use of borrowed material that limit its use far more than would apply under copyright law (which guarantees various forms of "fair use").
We hear far too much about the rights of the suppliers of digital content - we need to ensure that the rights of the consumer are also respected!
A short note on OpenDocument
I've made a few mentions of the standard format for office application documents produced by Oasis in the past few editorials. You may be interested to hear that OpenDocument has now been approved as an ISO standard - there are a few formalities to go through, but the decision making process has completed and all that remains is producing the final document. You can read more about this on Andy Updegrove's blog [ Updegrove ].
References
[ Stallman97] "The Right to Read", Richard Stallman, 1997, http://www.gnu.org/philosophy/right-to-read.html
[ Russinovich] "Sony's Rootkit: First 4 Internet Responds", Mark Russinovich, http://www.sysinternals.com/blog/2005/11/sonys-rootkit-first-4-internet.html
[ SMH] "Cutting crime as easy as MP3", http://www.smh.com.au/news/technology/cutting-crime-as-easy-as-mp3/2006/05/13/1146940771335.html
[ Groklaw] "The British Library - "The world's knowledge" DRM'd and for a price", http://www.groklaw.net/article.php?story=20060317044847293
[ Updegrove] "OpenDocument Approved by ISO/IEC Members", http://www.consortiuminfo.org/standardsblog/article.php?story=20060503080915835372.pdf