As George Santayana famously said, “those who cannot remember the past are condemned to repeat it”. In light of recent news regarding music notation software, I would add with some disappointment and frustration that those who choose to ignore the past are also condemned to repeat it.
For those of you who don’t already know, Sibelius is a proprietary software product for music notation which has for many years been one of the most popular choices for professional musicians and composers. For many of the more experienced customers in the technology industry who have already been burned in the past, a heavy reliance on a single technology is enough to trigger alarm bells – what if the company providing that technology goes bust, or decides to change direction and cease work on it, or simply does an awful job (*cough* Microsoft *cough*) of maintaining and supporting that technology? Then you’re up a certain creek without the proverbial paddle.
In the IT industry, this is a well-known phenomenon called vendor lock-in. A powerful movement based on Free Software was born in the early eighties to free computer users from this lock-in, and is now used on billions of devices world-wide. You may have never heard of Free Software, but if you own an Android phone or a “broadband” router, or have ever used the Firefox browser or Google Chrome, you have already used it. The vast majority of the largest companies in the world all run Free Software in their datacentres around the world; for example, every time you access Google or Facebook you are (indirectly) using Free Software.
What does any of this have to do with Sibelius? Well, in 2006, Sibelius Software was bought by Avid Technology, Inc., and despite remaining a very successful business, in July 2012 Avid laid off the entire Sibelius development team, effectively condemning the product to rapid decline and a very uncertain future. This decision received widespread condemnation, and yet Avid have refused to waver from their course, potentially stranding millions of users in the medium to long term.
I do not wish to criticise those users for locking themselves into a proprietary solution in the first place. Many of them will have been encouraged along that route during their education (many music colleges provide Sibelius to students, for example), and will have never heard of Free Software, let alone realised that viable alternatives do exist. These people are specialists in music, not in technology, so it’s entirely understandable that they just want music software which works well, allowing them to focus on making music rather than learning technology. (In contrast, I have no sympathy for anyone working in the IT industry who subjects themself to proprietary lock-in; full-time technologists really should know better… but I digress.)
However, what does really frustrate and disappoint me is the news that the sacked team of Sibelius developers have announced that they are repeating history by starting work on a new proprietary product at Steinberg which has the same fatal flaw. In that blog post, Daniel Spreadbury writes:
Of course there are dangers inherent in starting again from scratch, but since we don’t have any code of our own to use, we have no choice in any case.
As a long-term professional musician and professional software developer who has recent experience of enhancing music notation software, I simply cannot understand this statement, since both MuseScore and GNU LilyPond would serve as excellent starting points for a world-class music notation product. Daniel is well aware of the existence of LilyPond, as shown by one of his responses to a reader who commented on his blog:
Lilypond is wonderful software, and it’s great that its proponents advocate for it so strongly. I hope we will demonstrate to you that our experience and, yes, our taste in musical typography makes our new application a worthy rival, even if it is (to you) a useless, closed source white elephant.
I am sure that he and his whole development team are equally aware of the existence of MuseScore. Therefore despite a clear, publically stated awareness of the risks, they are deliberately choosing to start from scratch, rather than enhance existing pieces of Free Software in a way which would benefit everyone (more on that in a bit).
I can only hazard a guess as to why Steinberg have decided to go this route, but let me first bust some very common myths about Free Software which are relevant here:
Myth #1 – you can’t run a business or make a living off Free Software.
This one’s incredibly easy to address, because I can and do! – quite comfortably, thank you very much. I work (part-time) for a highly successful global software vendor which has sold services related to Free Software for over 20 years. We are (still) profitable, and growing fast, as is the number of other companies following suit. How is that possible? By selling services, not licenses. In other words, selling good old-fashioned honest expertise. That can come in many forms: software maintenance (i.e. bug fixes), upgrades, technical support, documentation, consulting, training…
Myth #2 – it only runs on certain systems which most people don’t use.
Both LilyPond and MuseScore already run on Windows, MacOS X, and Linux.
Myth #3 – it’s written by a bunch of hobbyists / it’s lower quality / you get what you pay for etc.
These statements are no more useful than any other sweeping generalisation. Are Firefox and Chrome better than Internet Explorer? The vast majority of IT professionals would say yes. But there are also plenty of counter-examples. So let’s focus specifically on music notation software.
I suspect that Daniel and his team would gracefully agree that LilyPond produces extremely high quality output, in many cases (admittedly not all) even slightly superior to the output from Sibelius. This is no surprise, because output quality is LilyPond’s primary concern. They would also quite rightly point out that LilyPond is challenging to learn for less technically-minded people who tend to want to be able to do most work with the mouse. MuseScore has an interface somewhat similar to Sibelius and goes a long way towards addressing this group of users, but its output is currently nowhere near the same quality. There are also promising front-ends for LilyPond, such as Denemo.
Since these are Free Software, any developer is free to take the existing code and enhance it in any direction they want. So the Steinberg team could have for example used LilyPond’s superb rendering engine as a starting point, optimise it for WYSIWYG rendering, and build a superb Sibelius-like graphical user interface (GUI) around it. Or they could have started with MuseScore and work on enhancing both the rendering engine and the GUI.
You may ask, but why should they? What are the benefits of Free Software? Here’s one rather amusing answer, and a slightly more helpful one. I’ll add two more specific examples in this context. Firstly put yourself in the shoes of a poor music student, or a musician trying to make a living in a very poor country. Without access to good Free Software, the only choices are: obtain an illegal copy of a commercial product, or go without. Now imagine you are a high-earning film/TV composer, and whilst working on a contract you discover a bug in the proprietary software which makes your life very difficult. You report the bug to the company who develops and sells the software, and they politely decline to fix it (or more likely, ignore your request). The only choices here are: live with it, or switch your whole studio setup to another product.
So it’s clear how Free Software makes the world a better place. So why then have Steinberg decided to start from scratch, despite the extra risk and man-years of work this will cost? Only Daniel and his colleagues can answer that, but my guess is one or more of the following:
- They just don’t “get” how well Free Software projects can thrive and offer opportunities for making money.
- They do “get” it but they believe that the profit margins in Free Software are too low for their business strategy which involves making truck-loads of money e.g. through being the sole distributor.
- There’s a perceived technical barrier. For example, maybe they really really don’t want to use C++. (I can sympathise with this sort of stance, but it’s still not justification for working on a proprietary product.) Or maybe they have a fundamental concern with the existing architecture of LilyPond or MuseScore. For example, in a response to another comment on Daniel’s blog post, he writes:
The difficulty with complex applications like scoring programs is that a great deal of the richness of the end result that you see visually on the screen or on paper is worked out algorithmically from the small amount of data actually contained in the file saved on disk. Even if you consider Lilypond, the Lilypond file format itself does not describe exactly how the finished score will appear, because it is up to Lilypond itself to handle positioning, spacing, etc. based on its own internal algorithms and rules.
but that misses the point that it is entirely possible to get LilyPond to output positioning/spacing information which could then be fixed across LilyPond versions and embedded within a non-brittle output file format. In fact, with a few hours of help from Jan Nieuwenhuizen, one of the co-authors of LilyPond, I implemented that recently myself for the ly2video project without even having to modify LilyPond’s core C++ code.
It further saddens me that this announcement is being considered as a reason for celebration, when as far as I can see a different path could so easily have been chosen which would benefit everyone more. However I suspect these sorts of opinions are simply due to an honest ignorance of Free Software. I hope that in a very small way this post might help address that.