Free software is simply software that respects our freedom — our freedom to learn and understand the software we are using. Free software is designed to free the user from restrictions put in place by proprietary software, and so using free software lets you join a global community of people who are making the political and ethical assertion of our rights to learn and to share what we learn with others.

Tuesday, October 23, 2012

The implications of LightWorks coming to Linux

Takeaway: The LightWorks video editor is coming to Linux. How was this made possible and what are the far-reaching implications for the flagship open source platform? Jack Wallen ruminates

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.