Most software that you buy or download only comes
in the compiled ready-to-run version. Compiled means that the actual
program code that the developer created, known as the source code, has run
through a special program called a compiler that translates the source code
into a form that the computer can. It is extremely difficult to modify the
compiled version of most applications and nearly impossible to see exactly how
the developer created different parts of the program. Most commercial software
manufacturers see this as an advantage that keeps other companies from copying
their code and using it in a competing product. It also gives them control over
the quality and features found in a particular product.
This kind of software is frequently called "proprietary software" or "closed source" software, because its source code is the property of its original authors, who are the only ones legally allowed to copy or modify it. Microsoft Word and Adobe Photoshop are examples of proprietary software
Open source software is at the opposite end of the
spectrum. The source code is included with the compiled version and
modification or customization is actually encouraged. The software developers
who support the open source concept believe that by allowing anyone who's
interested to modify the source code, the application will be more useful and
error-free over the long term.
To be considered as open source software by the software
development industry, certain criteria must be met:
·
The program must be freely distributed
·
Source code must be included.
·
Anyone must be allowed to modify the source code.
·
Modified versions can be redistributed.
·
The license must not require the exclusion of
other software or interfere with the operation of other software.
A common concern for end-users who wish to use open source
software is the lack of a warranty and technical support. Because the
software's license encourages modification and customization, it is nearly
impossible to support, For most businesses, the assurance of technical support has
been a key factor in the decision.
In my opinion Closed source is better than Open source
- You never have to fix component when something goes wrong
- You don't have to worry about contributing your change back to community
- You don't have to think about open source licensing term and compliance issues
- You don't have to choose among dozen of option of every component
- You don't have to look around for technical support
Ref:
Hi Vimal! I like how your post is not only a summary of open source software, but also a comparison of proprietary/closed software. The way you listed the requirements of open source software makes it easy to read and understand as opposed to a giant block of text. I agree that a common concern of open source software is the lack of support. The software could be so big that it is difficult to update or so small that technical support is nonexistent.
ReplyDeleteKeep up the good work!
Hello Vimal,
ReplyDeleteThis is a nice short post about open-source software. It is clear and easy to read!
It would be really great if you can talk more about some specific open-source software that you like or you use, in addition to these major principles and definitions. I would like to know more about your own experience and opinion on this topic!
Also, if you can add more comments for your images, this blog post can be more informative!
Thanks for your comment, i updated my opinion in blog as per your suggestion.
DeleteCompilation was never intended to the scramble source code so no one other than the copyright owner of the source code could see them; there are actually tools out there that can reverse engineer the compiled code. It is simply because compiler can produce better-optimized code than a human in most of the cases. Copyright laws provide better protection from piracy than scrambling the code. Also there are companies that provide support services for open source projects, two marquee examples are RedHat and SprngSource.
ReplyDelete