Paid vs. Unpaid
maddog's Doghouse

"maddog" takes a look at various factors that go into creating good code.
Recently, I was talking with a member of the Free Software community who made a statement that showed disdain for programmers that were paid versus those that volunteered their time. When I questioned this person more closely, he expressed the view that volunteer programmers take more time and are more careful in writing code than paid programmers. "You can see it in their code," he offered.
I have been in the computer industry since 1969. I have known good programmers, not-so-good programmers, and downright poor programmers, and I really have not seen any correlation between volunteering and doing a very good job in programming. There are more important factors that determine "good code" from "bad code."
One factor is the programmer's experience level. Are they just starting and, therefore, do not have all of the necessary skills for writing well-structured code? Perhaps they have not had a lot of practice making their code follow the coding style of the project they are working on – making it look like only one person has written the code, rather than many people.
Do they have a good understanding of the underlying principles of the project, exactly what it is trying to do, and what the parameters of the project are, or are they just trying to put in a patch and not seeing the overall picture?
I will grant that sometimes "paid programmers" are under a managerial time constraint in getting their code submitted to the code pool, and sometimes quality assurance people do not give the testing the coverage it needs due to schedules driven by staffing and time constraints.
Volunteer projects and programmers can also have monetary, staffing, and time constraints. Volunteers have to eat, too, so they typically work at some other "day job," so their time for programming and testing of their volunteer job can be limited.
The biggest difference, I think, is that volunteer programmers usually work on projects that really interest them, and which they might use in their daily lives. Some paid programmers (not all) may take a job simply for the money and not even use the software that they are developing. However, this is not a solid indicator of programming quality.
Looking at the history of Free and Open Source Software, however, many people currently paid to work on projects started as volunteers. The core kernel developers are a good example of this. Many started as volunteers, but various companies and agencies rationalized that if they paid the kernel programmers to develop the code, the programmers would be able to work on Free Software many more hours each week and therefore bring desired features out faster. And even when paying these programmers a good salary, it was cheaper overall for the different system vendors (IBM, HP, Dell, etc.) or chip vendors (Intel, AMD, ARM, Motorola, IBM) to have these skilled programmers as paid employees (with health plans) than to develop their own complete operating system groups.
This "paid volunteer development" is not limited to operating systems. Other projects are also sponsored or funded by groups who are making money off Free Software.
Many times, volunteers are also paid because they make their own living off Free Software. They use the software in their day jobs, and by improving the projects they are working on, they make their own day jobs more efficient.
Over the years, there have been many attempts both in the amateur and professional space to improve the code that programmers develop – project reviews, testing grids, language sensitive editors, IDEs, and more – but none of these are real differentiators between the unpaid and paid programmers. I believe the difference lies in each programmer's skill and work levels, paid or unpaid.
When I started programming in 1969, most programs were distributed in source code, and most programs were written by the people who would later use them. There were few people who programmed for someone else exclusively: the professional programmer.
Right before I graduated from college, a professor said to me, "Jon, you will never be able to earn a living as a professional programmer." I am still trying to determine if he was right.
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you've found an article to be beneficial.
News
-
Zorin OS 17 Beta Available for Testing
The upcoming version of Zorin OS includes plenty of improvements to take your PC to a whole new level of user-friendliness.
-
Red Hat Migrates RHEL from Xorg to Wayland
If you've been wondering when Xorg will finally be a thing of the past, wonder no more, as Red Hat has made it clear.
-
PipeWire 1.0 Officially Released
PipeWire was created to take the place of the oft-troubled PulseAudio and has finally reached the 1.0 status as a major update with plenty of improvements and the usual bug fixes.
-
Rocky Linux 9.3 Available for Download
The latest version of the RHEL alternative is now available and brings back cloud and container images for ppc64le along with plenty of new features and fixes.
-
Ubuntu Budgie Shifts How to Tackle Wayland
Ubuntu Budgie has yet to make the switch to Wayland but with a change in approaches, they're finally on track to making it happen.
-
TUXEDO's New Ultraportable Linux Workstation Released
The TUXEDO Pulse 14 blends portability with power, thanks to the AMD Ryzen 7 7840HS CPU.
-
AlmaLinux Will No Longer Be "Just Another RHEL Clone"
With the release of AlmaLinux 9.3, the distribution will be built entirely from upstream sources.
-
elementary OS 8 Has a Big Surprise in Store
When elementary OS 8 finally arrives, it will not only be based on Ubuntu 24.04 but it will also default to Wayland for better performance and security.
-
OpenELA Releases Enterprise Linux Source Code
With Red Hat restricting the source for RHEL, it was only a matter of time before those who depended on that source struck out on their own.
-
StripedFly Malware Hiding in Plain Sight as a Cryptocurrency Miner
A rather deceptive piece of malware has infected 1 million Windows and Linux hosts since 2017.