Open outsourcing
From Wikipedia, the free encyclopedia
Open outsourcing is a Socioeconomic movement resulting from the marriage of the open source movement and the recent trend towards the international outsourcing of programming.
Open outsourcing makes open source technology more accessible to businesses and individuals by employing an inexpensive international labor force of programmers, often on a contractual piecework basis. Small businesses may not be technical enough to efficiently utilize open source resources in-house or large enough to hire a full time technician. Larger businesses with IT staff may lack technicians with specific skills or knowledge. Open outsourcing also reduces some of the risks associated with outsourcing by making the resulting code publicly available through open source licensing.
The combination of outsourcing techniques with open source business models has the potential to improve the software user's experience with both. That is, open source solves some of the problems commonly associated with outsourcing and outsourcing solves some of the commonly encountered challenges with employing open source.
Contents |
[edit] Benefits of open source
- No lock-in or long-term contractual obligation with a software vendor
- Low or no cost for the license
- You may modify the source code for your specific needs
- No runtime fees
- Quicker turn around time for fixing bugs
[edit] Challenges of open source
The challenges of using open source efficiently aren't solely those of technical naiveté, but are somewhat inherent in the entire open source movement. Despite recent progress towards greater ease of use in mature open source projects, many pieces of open software remain somewhat inaccessible to any but the technologically sophisticated. These problems include:
- A lack of marketing to make potential users aware of the existence of mature projects
- A lack of excellent documentation
- Inconsistent or non-existent install scripts
- Lack of knowledgeable and available support staff
- Inconsistent and generally unknowable quality of projects
- Developer-centric designs highlighting feature creep
- Complexities of licensing and license proliferation
- Fear, uncertainty and doubt
[edit] How open outsourcing reduces the challenges of open source
Web sites devoted to connecting programmers with people needing programs make it easy to put a job before thousands of coders with a single posting. This turns the marketing problem of open source on its head, because some of those programmers are already aware of open source projects that may help in solving the problem. Other programmers will search for entire or partial solutions as they bid on a project.
The documentation problem is lessened because the programmers are either already familiar with the code in question, or can read the code itself to determine its function. They can also be employed to create documentation suitable for your needs.
These programmers are generally able and willing to create install scripts that make deploying the application easier, and in the case of web applications can even configure the web server. Special distributions of operating systems preloaded with software for a particular industry are becoming quite ubiquitous and outsourced programmers can assist you in finding or creating a special distribution for your industry.
Ongoing support can often be negotiated, however, this must be made very clear from the beginning of the process, or extra expenses can be incurred later.
The problem of basing a solution on an immature or bug-ridden open source project is reduced because the programmers are able to ascertain the current state of a particular project, or are willing to work on the project to push it further along in the directions you require, if you can afford those improvements.
In general, the issues with feature creep are not resolved by open outsourcing, but at least the features being developed are the ones you specifically require for your business. Being in the position of controlling the development assures that what you care about is advanced, rather than being at the mercy of volunteer programmers with their own priorities.
The complexities of licensing remain a challenge. They are most easily resolved by choosing ahead of time a compatible set of open source licenses you are willing to work with, then not using source from incompatibly licensed projects. The licenses with the most restrictive anti-commercialization clauses such as the GPL tend to also be those with the most available source code, so there is a trade off that must be weighed in selecting the kind of license to use. The most restrictive type of licenses do not typically present problems for end users of in-house software, but may present significant challenges if the software is for resale, especially if it is used within a larger proprietary system. One grey area is whether open source modified and run on a web server constitutes a change that must be submitted under copyleft agreements.
[edit] Real examples of open outsourcing
As an example of open outsourcing, there are hundreds of web site developers being hired on Rent-A-Coder using open source Perl and PHP scripts to create and configure proprietary web sites for web site owners who are generally non-technical. Estimates from Rent-A-Coder are that approximately 70% of all code buyers on their site are non-technical. It is believed that little of the code currently generated on Rent-A-Coder works its way back into the open source projects the original code came from, despite the fact that much of the code is licensed under the GPL, which encourages such code modifications be made public, but only requires it if the program is distributed.
[edit] The sociological impact of open outsourcing
When open source demographics are examined closely as in Steven Weber’s book The Success of Open Source, it is seen that the vast majority of current major contributors to open source projects are from wealthy Western world nations. The United States is the greatest contributor of open source in raw numbers, but the nations making the greatest per-capita contributions today are in Scandinavia. The third world represents hardly a blip. This is consistent with Eric S. Raymond’s observation in Homesteading the Noosphere that the open source movement comes generally today from a gift economy based upon abundance rather than an exchange economy based upon scarcity. Open outsourcing has the potential to balance this out allowing third world programmers to contribute more equally to the body of open source software in a way consistent with the scarcity of third world economies.
As steps are taken to insure that work done for pay with open source software results in a greater number of submissions back to the original core code groups developing these projects, the contribution of third world programmers to open source projects should grow. One of the greatest challenges to successful open outsourcing (as a movement) is making sure that programmers in the third world, as well as their Western patrons are aware of their responsibility to resubmit code changes and evolution to the original programs. Programmers participating in the movement are more likely to become familiar with these requirements than the business people hiring them.
[edit] Conclusions
In open outsourcing the concept that open source code must be created, specialized, installed, configured, maintained and improved on an exclusively volunteer basis is challenged. Business men as well as individuals can pay international programming rates for improvements they need to existing open source projects. Software users can find appropriate open source to meet their needs. They can get assistance setting up the software, and understanding it. Third world programmers are benefited by their exposure to open source projects, and the primarily western maintainers of open source projects may benefit from additional submissions to their programs.
Open outsourcing strengthens weaknesses to both the open source movement and the outsourcing trend by supporting the weakness of each system with the strengths of the other. It allows people with little technical skill, but with some money and desire, to contribute to both the economic growth of the third world and the body of open source software. Open outsourcing is beneficial to all parties involved. While proprietary software companies may fear these trends, it is more likely that they will simply grow the market for computing world wide.