What is Open Source Software and how does it work?

176 views

What is Open Source Software and how does it work?

In: 5

4 Answers

Anonymous 0 Comments

All open source software means is that the underlying code of the piece of software is made public, so anyone can review that code to understand how the software works. It is often done to build trust in the software – the community can be relatively sure that the software does not do nefarious things as they can see the specifics of how it runs. It can also help make the software more secure, as bugs or exploits can be identified by the community for correction.

Open source **does not** mean that the software is free, nor does it mean that you can reuse aspects of the code without permission from the owner. Those are things too but separate from simply being open source.

Anonymous 0 Comments

If I give you a slice of cake, you may be able to guess at most of the recipe, based on what it tastes like and general baking knowledge, but it would be very difficult to get the recipe exactly right just based on that finished slice of cake. Without having the actual recipe, you would have a hard time making your own cake that tasted exactly the same.

Computer programs are sort of the same thing. The “recipe” for a computer program is the source code, and generally that isn’t something the people who buy a program have access to. They can’t see the recipe of how it was made, they can just use the program in its finished, “compiled” state. There are some programs that allow you to try and reverse the process to figure out the original code, but it’s not always the most accurate.

Open Source software are programs that have the source code freely available. This means that anyone can work on building new features for the program, because they can see exactly how it works. Or that someone can copy bits of that program to make something new for themselves. Rather than trying to make money by selling a program to people, these tend to be community projects where people work together to improve a program just for the sake of having better programs to work with.

In general, open source software is free to use, with a lot of volunteers working to improve it, or make new programs based on the older one that they feel might be a better replacement.

Anonymous 0 Comments

You’re going to get a lot of opinions on this, and I’d recommend that you also ask about the context from which those opinions come. I’ve been working in Free Software since the late 90’s, and I’ve both developed Free Software and used Free Software in operations in large scale environments.

Free Software is related to the concept that users who pay for software should have the same rights of ownership as users who buy any other material good. If I buy software, I should be able to study it to understand how it works (especially when it doesn’t), and modify it to fit my needs, because I paid for it. I should also be able to share the changes that I made with others. Proprietary software does not generally include the source code used to maintain it, so users have neither the right nor the ability to do those things.

Open Source software is a related concept that focuses on the collaborative aspects of Free Software, without discussing the ethical underpinnings of the Free Software movement.

Those differences carry over into the licenses used for software. Free Software advocates are likely to use a license from the GNU organization: GPL or LGPL. Those licenses emphasize the rights of users. Open Source advocates are likely to use a more permissive license, such as the BSD, MIT, or Apache 2.0 license. Those licenses place fewer restrictions on how the source can be used, including in non-free derived products.

As to the question of how it works, that depends on whether you’re asking a technical question or a business question.

Technically: Generally, users who receive software will also receive a copy of the source code. Often, the source code is available to the public on a shared service like GitHub or GitLab, or on the vendor’s own site. Users can send their changes back to the original author for consideration, or they can distribute their own copy if they’d prefer to take a different approach to development than the original author.

As a business: Users pay for proprietary software because the original author is the exclusive source for that software. Users might choose to pay for Free Software because its original author understands it best, and is best suited to provide ongoing support and development for their paying users. Many Free Software products are available at no charge, because their authors don’t believe that supporting that product would be interesting or profitable, but they do think that something that they created for their own needs might be helpful to others.

Anonymous 0 Comments

It’s just an agreement by the makers to let anyone look at the source code and share it around.

If you write some code, and put the GPL license up at the top, anyone can use it, change it, and share it around (as long as they keep the GPL license at the top).

That has some consequences. It means it’s really hard to charge anyone for the software, because they can just go get it anywhere and built the program themselves. It means anyone can go grab freely available software to go do a whole bunch of stuff. It means bugs are found faster because there are more people using the software and specifically looking at the code to learn why it’s broken.

There’s a bunch of different sort of agreements, called licenses. Some behave in different ways.