Here's the definition of Open Source:
http://www.opensource.org/docs/definition.php
Basically, Open Source is a form of creating software where you allow others to view, modify and redistribute your software. The interesting thing about it is that it makes for faster, better and more secure software, because there are so many people contributing fixes and problems to the project. The downside is that it will be less user-friendly, because the people creating the software willl be creating it for themselves, and because they are always coders, they have more knowledge of code and computers, and will therefore need less user-friendliness and will therefore produce less user-friendliness. The Open Source community seems to be working on that, though, specifically with newer distributions of the Linux Operating System.
I suggest you first read The Cathedral and the Bazaar by Eric S. Raymond, it will give you an insight into how this model works and why it works.
Now, one of the problems facing Open Source is patents: people have been patenting their software, and there has been a lot of movement towards making it possible to patent any form of software (meaning more monopolies, and less innovation, I'll explain in a while why this is so). Now, in my university's magazine, there was an article (in Dutch, too bad) claiming that Watt not only patented his steam engine, but that this patent stood in the way of innovation and progress. An even more interesting claim was that when those patents dissapeared people, especially around Cornwall, started to share their knowledge, and that due to this sharing of knoweldge, the progress of the steam engine went very fast. In other words: due to the sharing of knowledge (in Open Source models this would be code) more people got to work on the same project, they found more mistakes and fixed more mistakes, and this made for a lot of innovation. A link to the researcher's promotion explanation is here: http://www.tue.nl/promoties/uitleg/nuvolari_uitleg.html
Now, the reason why I feel that these patents stand in the way of innovation and progress, specifically in the field of software, is that there are only a limited number of solutions to any problem in software. For instance, if I'm designing a game, I'd probably need to give the computer a way of finding a correct path from point A to poiint B, this is called pathfinding. The methods to implement pathfinding are only limited, a few examples are A* and Dijkstra pathfinding, and if some company would be able to patent these algorithms, pieces of software, they would block anyone else from using these pathfinding methods in their code. As you can see, this can be highly frustrating and can stand in the way of progress. This is even more frustrating because as a programmer, you are bound to use code which has been used by others, and you therefore constantly run the risk of breaking patents without even knowing it.
Added to that is the problem of closed source: if a company does not release its source code, and most companies don't, they obstruct any means of ever finding out exactly what that piece of patented code does, because they patented the entire code base, but didn't make it public. If this were made possible, then there would be more problems, because you couldn't even CHECK whether you were breaking patent laws.
Before you respond to what I just wrote, be absolutely sure to read those links I provided.
http://www.opensource.org/docs/definition.php
Basically, Open Source is a form of creating software where you allow others to view, modify and redistribute your software. The interesting thing about it is that it makes for faster, better and more secure software, because there are so many people contributing fixes and problems to the project. The downside is that it will be less user-friendly, because the people creating the software willl be creating it for themselves, and because they are always coders, they have more knowledge of code and computers, and will therefore need less user-friendliness and will therefore produce less user-friendliness. The Open Source community seems to be working on that, though, specifically with newer distributions of the Linux Operating System.
I suggest you first read The Cathedral and the Bazaar by Eric S. Raymond, it will give you an insight into how this model works and why it works.
Now, one of the problems facing Open Source is patents: people have been patenting their software, and there has been a lot of movement towards making it possible to patent any form of software (meaning more monopolies, and less innovation, I'll explain in a while why this is so). Now, in my university's magazine, there was an article (in Dutch, too bad) claiming that Watt not only patented his steam engine, but that this patent stood in the way of innovation and progress. An even more interesting claim was that when those patents dissapeared people, especially around Cornwall, started to share their knowledge, and that due to this sharing of knoweldge, the progress of the steam engine went very fast. In other words: due to the sharing of knowledge (in Open Source models this would be code) more people got to work on the same project, they found more mistakes and fixed more mistakes, and this made for a lot of innovation. A link to the researcher's promotion explanation is here: http://www.tue.nl/promoties/uitleg/nuvolari_uitleg.html
Now, the reason why I feel that these patents stand in the way of innovation and progress, specifically in the field of software, is that there are only a limited number of solutions to any problem in software. For instance, if I'm designing a game, I'd probably need to give the computer a way of finding a correct path from point A to poiint B, this is called pathfinding. The methods to implement pathfinding are only limited, a few examples are A* and Dijkstra pathfinding, and if some company would be able to patent these algorithms, pieces of software, they would block anyone else from using these pathfinding methods in their code. As you can see, this can be highly frustrating and can stand in the way of progress. This is even more frustrating because as a programmer, you are bound to use code which has been used by others, and you therefore constantly run the risk of breaking patents without even knowing it.
Added to that is the problem of closed source: if a company does not release its source code, and most companies don't, they obstruct any means of ever finding out exactly what that piece of patented code does, because they patented the entire code base, but didn't make it public. If this were made possible, then there would be more problems, because you couldn't even CHECK whether you were breaking patent laws.
Before you respond to what I just wrote, be absolutely sure to read those links I provided.