UNIT I INTRODUCTION 9
Introduction to Open sources – Need of Open Sources – Advantages of Open Sources–
Application of Open Sources. Open source operating systems: LINUX: Introduction –
General Overview – Kernel Mode and user mode – Process – Advanced Concepts –
Scheduling – Personalities – Cloning – Signals – Development with Linux. .
Introduction to Open Sources or The principles of Open Source Software
Open source doesn't just mean access to the source code. The distribution terms of open-source software must fulfill with the following criteria:
1. Free Redistribution
The license shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license shall not require a royalty or other fee for such sale.
2. Source Code
The program must include source code, and must allow distribution in source code as well as compiled form. Where some form of a product is not distributed with source code, there must be a well-publicized means of obtaining the source code for no more than a reasonable reproduction cost preferably, downloading via the Internet without charge. The source code must be the preferred form in which a programmer would modify the program. Deliberately obfuscated source code is not allowed. Intermediate forms such as the output of a preprocessor or translator are not allowed.
3. Derived Works
The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software.
4. Integrity of the Author's Source Code
The license may restrict source-code from being distributed in modified form only if the license allows the distribution of "patch files" with the source code for the purpose of modifying the program at build time. The license must explicitly permit distribution of software built from modified source code. The license may require derived works to carry a different name or version number from the original software.
The license must not discriminate against any person or group of persons.
6. No Discrimination against Fields of Endeavor
The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.
7. Distribution of License
The rights attached to the program must apply to all to whom the program is redistributed without the need for execution of an additional license by those parties.
8. License Must Not Be Specific to a Product
The rights attached to the program must not depend on the program's being part of a particular software distribution. If the program is extracted from that distribution and used or distributed within the terms of the program's license, all parties to whom the program is redistributed should have the same rights as those that are granted in conjunction with the original software distribution.
9. License Must Not Restrict Other Software
The license must not place restrictions on other software that is distributed along with the licensed software. For example, the license must not insist that all other programs distributed on the same medium must be open-source software.
10. License Must Be Technology-Neutral
No provision of the license may be predicated on any individual technology or style of interface.
Definition of Open Source:
A defined set of requirements for open source software from the Open Source Initiative (OSI). The Open Source Definition (OSD) specifies not only access to the source code, but also integrity of the code, its free redistribution, a technology-neutral provision, as well as specific anti-discrimination rules.
Or
Open source refers to any program whose source code is made available for use or modification as users or other developers see fit. Open source software is usually developed as a public collaboration and made freely available.
Or
Open source software refers to applications developed in which the user can access and alter the "source" code itself.
Need of Open Sources
Few reasons why you need an Open Source Strategy are:
Reduce dependency on closed source vendors. Stop being dragged through constant product upgrades that you are forced to do to stay on a supported version of the product.
Your annual budget does not keep up with increases in software maintenance costs and increased costs of employee health care. Your budget remains flat, you bought five new tools last year with new annual costs in the range of 18-20% of the original purchase price for "gold support", and your employees' health care costs shot up 25% again.
More access to tools. You can get your hands a variety of development and testing tools, project and portfolio management tools, network monitoring, security, content management, etc. without having to ask the boss man for a few hundred thousand green backs.
Try before you buy. Are you getting ready to invest in SOA, BPM, or ECM? Why not do a prototype without spending huge sums of money? First of all, it allows you to get familiar with the tools so you can be educated when you go through the vendor evaluation process. Second of all, you might find that the tool can do the job and you don't need to lock yourself in to another vendor.
Great support and a 24/7 online community that responds quickly. Despite the myths that you can't get support for open source software, the leading communities provide support far superior to most closed source vendors. Most communities have a great knowledgebase or wiki for self service support. You can also post a question and one of the hundreds of community members throughout the world will most likely respond in minutes. Make sure you chose software with strong community backing.
Access to source code and the ability to customize if you desire. You can see the code, change the code, and even submit your enhancements and/or fixes back to the community to be peer reviewed and possibly added to the next build. No longer do you need to wait for a vendor roadmap that doesn't have the feature you need until their Excalibur release in the fall of 2009.
Great negotiating power when dealing with closed source vendors. Tired of vendors pushing you around because you don't have options? I wonder if companies like Microsoft would be more willing to be flexible with their pricing if you have 20 desktops running Ubuntu as an alternative desktop pilot initiative.
Feature set is not bloated and is driven by collaboration amongst the community. Tired of products that consume huge amounts of memory and CPU power for the 2000 eye candy features that you will never use? With open source software, most features are driven by community demand. Closed vendors have to create one more feature then their competitors to get the edge in the marketplace.
Bug fixes are implemented faster then closed source vendors. Actually, many bugs are fixed by the community before they are even reported by the users.
Advantages of using Open Source
Below are some of the advantages that open source offers:
Core software is free
If you're just getting started in online business, cost can be a major factor. Using Open Source software can really cut down on your initial capital outlay. It's also my firm belief that the Open Source community has helped to rein in prices on commercial software over the years.
Evolving software
As mentioned, some Open Source software projects can have huge communities of programmers involved, allowing for the rapid implementation of new features and security fixes. The communities of users and programmers are also invaluable resources for asking questions relating to troubleshooting and suggesting enhancements.
Encourages hands on
When you're short on cash, you are more than likely to want to make modifications to software yourself. I'm no programmer, but the use of Open Source software has encouraged me to go beyond the user interface; to dig into code to try and understand what it does and to make minor edits. As a business owner, it doesn't hurt to understand a little of the voodoo that goes on behind the scenes in the software you use on your site.
Not tied to a single vendor
If you purchase a commercial application, you can then become reliant on a single company to solve your problems and maintain the software - which can also be very expensive. Some commercial software companies may only provide support and upgrades for a limited time before you need to fork out for any further enhancements or assistance.
Greater Security & Quality
Open source software is available publicly. A large amount of developers globally contribute and analyze the code making it more secure and constantly increasing the quality. The peer review process drive excellence in design.
Disadvantages of using Open Source
There's a flip side to everything, and in the case of Open Source software it all boils down to the old saying of "there's no such thing as a free lunch". Most of the disadvantages only apply if you're not somewhat code-savvy and willing to get your hands dirty:
Mostly used commercial applications.
Projects can die
Support issues
Application of Open Sources
Accounting Content Management Systems CRM (Customer Relationship Management) Desktop Environments/ Shell replacements Email Clients ERP Filesharing & FTP Graphics-Design & Modeling Tools Messengers & Communication Clients Project Management Reporting Tools RSS Web Browsers List of Commercial Open Source Applications with tools
S.No
|
Application
|
Open Source Tools
|
1
|
Cloud management
|
Abiquo
|
2
|
ecommerce
|
Avactis
|
3
|
Reporting Tools
|
Actuate
|
4
|
Enterprise Content Management, Web Content Management
|
Alfresco
|
5
|
Data Backup / Recovery
|
Bacula
|
6
|
ERP and CRM
|
Compiere
|
7
|
Office Productivity
|
Lotus Symphony
|
8
|
RDBMS
|
Ingres Database
|
9
|
Software Development Tools for C, C++
|
Sun Studio
|
10
|
Server and client Linux distribution
|
Ubuntu
|
LINUX: Introduction
What is Linux?
Linux is a UNIX-based operating system originally developed as for Intel-compatible PC's. It is now available for most types of hardware platforms, ranging from PDAs (and according to some reports, a wristwatch) to mainframes. Linux is a "modern operating system", meaning it has such features as virtual memory, memory protection, and preemptive multitasking.
Why use Linux?
Reasons to Install Linux
* Configurability
* Convenience
* Stability
* Community
* Freedom
Configurability
Linux distributions give the user full access to configure just about any aspect of their system. Options range from the simple and straightforward (for instance, changing the background image) to the more esoteric (for instance, making the "Caps Lock" key behave like "Control"). Almost any aspect of the user experience can be configured.
Convenience
While Linux takes some effort to get set up, once it is set up, it is surprisingly low-maintenance. Package management can simply be a matter of running two commands in the shell. Linux also offers complete remote access. This allows the user to act exactly as if she is sitting at that computer’s desk, potentially across town or on the other side of the world.
Stability
Linux is based on the UNIX kernel. It provides preemptive multitasking and protected memory. Preemptive multitasking prevents any application from permanently stealing the CPU and locking up the machine. Protected memory prevents applications from interfering with and crashing one-another.
Community
Linux is part of the greater open-source community. This consists of thousands of developers and many more users world-wide who support open software. This user and developer base is also a support base.
Freedom
Linux is free. This means more than just costing nothing. This means that you are allowed to do whatever you want to with the software. This is why Redhat, Mandrake, and Suse are all allowed to sell their own distributions of Linux. The only restriction placed on Linux is that, if you distribute Linux, you must grant all the privileges to the code that you had, including providing the source. This prevents a corporation from using the Linux kernel as the basis for their proprietary operating system.
Share with your friends: |