Software gets made by people in different roles, paid in different ways, depending on who hired them and what they built

When you use an app, a website, or a program on your computer, someone wrote the code. That person might be a full-time employee at a company, a contractor working for multiple clients, a freelancer you hired directly, or someone who wrote it for free and released it to the world. The way they got paid — or whether they got paid at all — shapes how the software works, who can use it, and what happens to it next.

Understanding who made the software you rely on matters because it affects your security, your privacy, and whether you can trust what the software does. A program written by a single person in their spare time has different safeguards than one built by a team at a major company. Open-source software, where the code is public and anyone can see it, carries different risks and benefits than closed software where only the company knows what's inside.

Key Takeaways

  • Software developers work as full-time employees, contractors, freelancers, or volunteers, and each arrangement affects how the software is maintained and supported.
  • Open-source software is written by people who share the code publicly, often for free, and anyone can inspect it for security problems or modify it for their own use.
  • Proprietary software is owned by a company that keeps the code secret and controls who can use it and how.
  • The way a developer is paid determines whether they have time to fix security bugs, respond to problems, and keep the software working as systems around it change.

Full-time employees at software companies

Most of the software you use every day — Microsoft Office, Google Chrome, Slack, Adobe Creative Suite — was written by people employed directly by the company that owns it. These developers work in teams, often with managers, quality assurance testers, and security specialists. The company pays their salary, provides benefits, and owns the code they write.

This arrangement means the software usually gets regular updates, security patches, and customer support. If a bug is found, the company has a team that can fix it quickly. If the software breaks when a new operating system comes out, the company has resources to adapt it. The downside is that you cannot see the code yourself — you have to trust that the company is doing the right thing with your data and that the software does what it claims.

Large companies also have the resources to hire security researchers to find and fix problems before they become public. They can afford to maintain the software for years, even if it is not profitable, because it serves a larger business goal. A company might keep an old program running for decades because customers depend on it, even if writing new code would be more profitable.

Contractors and freelancers

Some software is written by people who work for themselves or for a consulting firm, hired by a company to build a specific piece of software or fix a specific problem. A contractor might be hired to write the backend code for a website, or to build a mobile app for a startup, or to integrate two existing systems so they can talk to each other. They are paid per project or per hour, and once the project is done, they move on to the next client.

Contractors often work on multiple projects at once, which means they have less time to maintain any single piece of software after it is finished. If a security problem is found six months later, the contractor might be working for a different client and unavailable. The company that hired them has to decide whether to pay for the contractor to come back and fix it, or hire someone else to do the work.

Startups and small companies often rely on contractors because they cannot afford to hire full-time developers. This can be a good arrangement if the contractor is reliable and the project is well-defined. It can be risky if the contractor disappears or if the code they wrote is poorly documented, making it hard for the next person to understand or fix it.

Open-source developers

Open-source software is written by people who publish the code publicly so anyone can read it, use it, and modify it. Some open-source developers are paid by companies to work on the project full-time. Others volunteer their time in the evenings or on weekends. Many do a mix of both — they might work on the project part-time for a company and also contribute to other open-source projects for free.

The advantage of open-source software is that anyone can inspect the code to see what it actually does. Security researchers can look for bugs. Other developers can fix problems and submit the fixes back to the original author. If the original author stops maintaining the project, someone else can take over or create a modified version that they do maintain.

The risk is that open-source projects vary wildly in how well they are maintained. Some are backed by large companies like Red Hat or Mozilla and have teams of full-time developers. Others are maintained by a single person who might not have time to respond to security reports or fix bugs quickly. Some projects are abandoned entirely, meaning no one is checking for problems or updating them when new threats are discovered.

Popular open-source projects like Linux, Apache, and Python have formal processes for reporting security problems and releasing fixes. Smaller projects might not. Before using an open-source tool, it is worth checking when the last update was released and whether the developers respond to bug reports.

How developers are paid

A developer's income model affects how much time they can spend on their work. Someone employed full-time by a company has a steady paycheck and can focus entirely on that job. A freelancer needs to find new clients constantly, which means less time for any single project. A volunteer developer is working in their spare time, which limits how much they can do.

Some open-source projects are funded by donations or grants, which allows developers to work on them part-time or full-time without relying on a single company. The Linux Foundation, for example, funds developers who work on critical open-source projects. Mozilla pays developers to work on Firefox. Companies like Google and Microsoft pay developers to contribute to open-source projects that benefit their own products.

Other developers are paid through a model called "dual licensing," where the software is free for personal or non-commercial use, but companies have to pay for a commercial license. This gives the developer income while keeping the code open for inspection and modification.

Proprietary versus open-source trade-offs

Proprietary software — code that is owned by a company and kept secret — usually comes with customer support. If something breaks, you can call the company and talk to someone who can help. The company has a financial incentive to keep the software working because you are paying for it.

Open-source software usually does not come with official support. If something breaks, you have to figure it out yourself, ask in online forums, or hire someone to help. However, because the code is public, you can hire any developer to fix it, not just the original author. You are not locked into one company's support.

Proprietary software is often more polished and user-friendly because the company has invested in design and testing. Open-source software can be rough around the edges because volunteers are doing the work in their spare time. But open-source software is often more flexible because you can modify it to do what you need, rather than being stuck with what the company decided to build.

What happens when a developer leaves

If a full-time developer at a company quits, the company usually has other developers who can take over their work. The code is documented, the company has processes in place, and the software keeps getting maintained.

If a freelancer who built your website disappears, you might be stuck. If the code is poorly documented and no one else understands it, you have to hire a new developer to figure it out from scratch. This is why it matters whether the code is open-source — if it is, you can hire any developer to work on it. If it is proprietary and only the original developer understood it, you might be in trouble.

If an open-source project is maintained by a single volunteer and they stop responding, the project stalls. However, because the code is public, someone else can fork it — create their own version — and continue maintaining it. This has happened many times with popular open-source projects.

Frequently Asked Questions

How do I know who wrote the software I am using?

For commercial software, check the company's website or the "About" section of the program. For open-source software, look at the project's repository on GitHub or GitLab, which usually lists the main contributors and the project's history. For websites, you can sometimes find information in the footer or in the site's terms of service.

Is open-source software safer than proprietary software?

Not necessarily. Open-source software can be inspected by anyone, which means security problems can be found and fixed quickly — but only if someone is actually looking. A well-maintained open-source project with many contributors is often more secure than proprietary software. A poorly maintained open-source project with no recent updates might be less secure. The key is whether the software is actively maintained, not whether the code is public.

What if I find a security bug in open-source software?

Look for a security policy or a responsible disclosure process on the project's website or in its documentation. Most projects ask you to report security problems privately to the maintainers before publishing them publicly, giving them time to fix the problem. Never post security bugs on public forums or social media.

Can I use open-source software in my business?

Yes, but it depends on the license. Some open-source licenses allow commercial use with no restrictions. Others require you to share your modifications or to release your own code under the same license. Read the license before using the software in your business, or ask a lawyer if you are unsure.

Why do some developers work for free?

Some developers contribute to open-source projects because they use the software themselves and want to improve it. Others do it to build their reputation or to learn new skills. Some are paid by their employer to contribute to open-source projects because the company benefits from them. And some simply enjoy the work and have the time to do it.