For those that do any sort of video editing, you’ve probably heard of LightWorks. LightWorks has been the editing software of choice for films such as 28 Days Later, Hugo, The King’s Speech, Pulp Fiction, and tons more. There’s a reason why — LightWorks was designed by editors, for editors.
But pimping this software title isn’t what this article is about. What I wanted to highlight was how the developers have been working to bring this software title to the open source flagship platform.
As it stands, the Windows version of LightWorks contains over a million lines of code. Although that might seem like quite a lot, other pro-level video editing software can contain over twenty million lines. The reason for such “light” code? Keep it efficient.
In the porting of LightWorks to Linux, what became crucial to the success of the project was to not have to rewrite all of the Windows code. That code was already solid and rewriting it didn’t make sense. Instead, the developers did something that all software companies should pay close attention to.
They moved the vast majority of the code to an OS-independent layer, which had an OS-independent interface. In fact 97% of the codebase for LightWorks is now OS-independent. That means a mere 3% of the code base had to be rewritten to enable the software to work with Linux (and Mac). Granted, part of that 3% required the translation of code that used Direct3D and had to be crafted to use OpenGL instead.
Once the OS-independent layer was created, the Lightworks code existed in two layers:
- The OS independent layer (e.g., editing, play-engine, etc.)
- OS dependent layer that uses the OS dependent layer (e.g., file access, threading, etc.)
And so many more companies.
We’ve all read the doomed predictions of Windows 8. With this in mind, how can software companies not be thinking that moving toward an OS-independent code base is the only solution. The implications of this are fairly wide-spread. This could mean more enterprise/business-level applications coming to Linux, Mac, and even tablets. This also nullifies companies (like Adobe and Intuit) claiming the move to Linux isn’t cost-effective or logical. Now, it is both. Why? Linux and tablets are both gaining serious steam and, if Windows 8 is any indication as to where Microsoft is heading, these two platforms will continue to gain ground.
Why would software companies not want to follow the example shown by LightWorks to ensure their product is available for as many platforms as possible?
As has been shown by Canonical (the founders/funders) of Ubuntu Linux — Linux users are in fact willing to pay for software. If Intuit and Adobe brought their products to Linux, users would buy. And now that it has been shown possible, these companies should, in fact, follow suit.
The product is not yet ready for public consumption. The developers have said they hope to have LightWorks compiled for Linux some time before year’s end. The developers have indicated that, once complete, users will not be able to tell the difference between the Linux and the Windows version of the software.
That’s impressive… and should be inspiring.
Intuit, Adobe… are you listening?
It seems to me, the future of computing will depend upon OS-independent software. Those old-guard companies that refuse to open their eyes to this possibility might wind up with a serious up-hill battle on their hands.
What do you think? Is this the future of software? Will we see more companies creating OS-independent layers for their products? If you are a developer — does this make sense for your project?