Cloud Broadcasting - Free Software

As well as providing functionality, tangible products present the opportunity of adding worth through their aesthetic appearance, cost of manufacture and development expenditure adds to the perceived barrier to entry for other vendors, and combined with low volumes, the cost to broadcasters has been traditionally very high.

With the prevalence of open source software in the industry today, the temptation to use free code is compelling. Barrier to entry is significantly reduced and anybody with a home computer can enter the game. But what do we really mean by “free”? And is it the silver bullet broadcasters have been looking for?

Give Away Source Code

Richard Stallman is the champion and father of open source software, although his motivation may now be more political, he originally formed the Free Software Foundation (FSF) to allow developers to learn from each other and deliver better and better computer software. Key to his achievement is the distribution of the program’s source code with every license issued.

Stallman was part of a growing movement of developers in the 1970’s who would write code for the intellectual challenge of conquering the software limitations of systems to provide interesting outcomes. At the time, source code was easily accessed for many different systems, including printers and telex machines.

Better Printers

Stallman and his colleagues would regularly change code in printers to make them work better, they would send an email to the user when a print job was complete or email all users when a printer jam occurred as the printers were often on different floors to the users. Until one day when he found a major printer manufacturer had locked programmers out of the code. He was so incensed that a company should restrict his freedom in this way he started the FSF movement to counteract it.

Over time, Stallman and his followers wrote high quality, professional software programs and tools, such as GCC – a “C” compiler and EMACS – a universal text editor based on LISP. He worked on UNIX type operating systems but each time making the source code readily available for anybody who wanted to study or improve it. In return, developers would have to submit their changes back to FSF so everybody else could learn from them, an early software community.

Exert from the GNU General Public License - Stallman makes his intentions quite clear

Exert from the GNU General Public License - Stallman makes his intentions quite clear

GPL – GNU Public License is the authorization under which FSF code is distributed. GNU is an infinitely recursive acronym “GNU is not UNIX”, something that amuses hard core programmers when sat in small groups conversing using noises others don’t understand. Linus Torvalds’ Linux operating system is released under the GPL license and has tools such as GCC at the core of its design. Without the FSF, we probably wouldn’t have Linux.

Free as in Freedom!

When referring to GPL licenses, Stallman developed the phrase “free as in freedom, not free beer”. And in a strange twist, Stallman believes it’s perfectly acceptable to profit from GPL software. He’s not against selling software, just restricting freedom to learn and modify it, which you can only do if you have the source code.

From the users’ perspective, this is nirvana; no commercial software licenses, no support costs and a near infinite pool of developers waiting to work for free! But from a vendor’s point of view, GPL is more of an issue.

Make Source Code Available

Under GPL terms, if a vendor uses a GPL program in its own software solution, then it may well have to make available its own software source code to their customers. Clearly this is restrictive for many vendors and has resulted in keeping lawyers very busy, to the point where GPL is banned in some companies for fear of losing the intellectual property of the bigger solution.

Are all vendor’s doomed? And are all broadcasters going to make infinite profits? Of course not.

The big “gotcha” for GPL code is that it was specifically not designed for commercial use, it’s not excluded from commercial use, it just doesn’t have the bells and whistles that make it user proof. Hence the reason Microsoft and Apple have done so well.

Protect Intellectual Property

Additions to the GPL license have been made to try and protect a vendor’s intellectual property, but this detracts from Stallman’s vision and restricts learning for future developers.

Some companies have embraced whole heartedly the concept of open source code, and companies such as Imagine Communications have products that open source their micro-services to allow developers to change, update and improve on them.

When using Software as a Service (SaaS), vendors using GPL software may not have to make available their own source code. The logic goes something like this – with SaaS the application is run on a web browser so the user never runs the vendors code on their computer, they are only loading the results of the computation from HTML pages sent by the server. The vendor’s application runs on their own servers and so they are not distributing the code to the user and don’t need to distribute their source code. Whether this breaches the GPL license or not can only be confirmed by the lawyers.

When GPL programs run on web servers, it's debatable whether the software has been distributed or not.

When GPL programs run on web servers, it's debatable whether the software has been distributed or not.

There are diverse types of software licensing available and vendor’s must be careful that they understand the details of these, for example, AGPL-3.0 specifically makes it a requirement to distribute source code, even if it is run server side.

Software development for GPL code can be a daunting task. Generally, there are three options; wait for somebody in the open source community to provide your feature or bug fix, employ somebody in the open source community, or fix it yourself. With all three options, you must make the modified source code available back to the community, even if you paid for the development.

Support can be equally difficult. If you’re running a Linux server and you come across a bug nobody else has seen, you can list it on a forum and wait for somebody to fix it, or search through one hundred thousand lines of “C” code to try and find the bug. But there are some companies, such as RedHat, who provide direct support services for GPL code such as Linux servers, and they do very well out of it.

Using GPL and open source code can be incredibly liberating for a broadcaster as they believe they are free from the shackles of expensive vendor licenses and maintenance contracts.

When choosing the open source route, the broadcaster must look at the bigger picture and be sure that they can support the application effectively. Even in-house developers may not have the skill-set to debug and compile an esoteric application written in C and fine-tuned for a UNIX type operating system. More and more developers leaving colleges are specializing in specific types of software framework such as NodeJS or Microsoft .NET framework.

You might also like...

Designing IP Broadcast Systems - The Book

Designing IP Broadcast Systems is another massive body of research driven work - with over 27,000 words in 18 articles, in a free 84 page eBook. It provides extensive insight into the technology and engineering methodology required to create practical IP based broadcast…

Demands On Production With HDR & WCG

The adoption of HDR requires adjustments in workflow that place different requirements on both people and technology, especially when multiple formats are required simultaneously.

If It Ain’t Broke Still Fix It: Part 2 - Security

The old broadcasting adage: ‘if it ain’t broke don’t fix it’ is no longer relevant and potentially highly dangerous, especially when we consider the security implications of not updating software and operating systems.

Standards: Part 21 - The MPEG, AES & Other Containers

Here we discuss how raw essence data needs to be serialized so it can be stored in media container files. We also describe the various media container file formats and their evolution.

NDI For Broadcast: Part 3 – Bridging The Gap

This third and for now, final part of our mini-series exploring NDI and its place in broadcast infrastructure moves on to a trio of tools released with NDI 5.0 which are all aimed at facilitating remote and collaborative workflows; NDI Audio,…