Do Newbie Programmers Know that GPL is Viral?

When I started out on my career as a software developer, we were never taught about the consequence of copying code and using it in our own projects – except that it would be an academic felony for plagiarism. The first assignment of the operating systems course was to write my own linked-list code from scratch. I didn’t mind the exercise. But then again, coding by “Google” was a technique that wasn’t available at the time.

Today, coding by “Google” is an accepted and effective technique for getting the job done. I remembered pouring over the Win32 API manuals – good times! They even included examples!

So what are the consequence of using code from an example from MSDN? Did they explicitly say that it was okay to use it, even if it was presented to be used in such a fashion? Most of the time, there is an implicit understanding that educational code can be used… for your education.

However, someone who does not understand the consequence of the GNU General Public License can get himself into an intellectual property minefield quite easily, especially the coding by Google types. Let’s get right to the point: if you lift a portion of the source code from a GPL-licensed program and add it to your own program, you have created a “modified work” or work that is based on the “previous work.” If you distribute a version of the modified work, in binary form, you have to make available the source code for the “modified work”.

In other words, the GPL license is intended to be viral and ensure that the derivative works are also open sourced. Your boss probably wouldn’t appreciate the unintended consequences. There has been cases where proprietary software had been caught violating this and was forced to release their source code.

I am not about to argue for the merit or demerit of the GPL license; every “artist” has his own reasons for making his work available. However, anybody who enters the software world in a professional way needs to understand the consequence of GPL and the proper usage of code found on the Internet. By not educating new programmers about the GPL akin to not telling freshly minted stock traders about the consequences of insider trading.

Leave a Reply