| Open Source FAQ |
|
|
|
What is open source? Open source means that the "source code" is available to anyone. That means anyone can inspect the source code and make changes if desired. Open source code is normally released under a special license, that mandates that mandates freedom for anyone to have access to the source code and be allowed to make changes. This is the opposite of proprietary software licenses, where there is a list of restrictions. ( i.e. You cannot distribute, make illegal copies, etc. ) Open source licenses are a listing of freedoms and rights that nobody can take away. The opposite of open source software is closed or proprietary software. Open source software is also free to use as you see fit. Open source software can be installed on a computer of your choosing. According to a Gartner survey, over 85% of enterprises are already using open source software. How does licensing work for open source software? Pogstone software, such as Shul Suite is licensed under GPL v2, which is detailed at http://www.gnu.org/licenses/ The license agreement for Drupal 6.x is detailed at: http://drupal.org/licensing/
The license agreement for CiviCRM version 3.x is detailed at: http://civicrm.org/licensing
There are a number of other licensing agreements that are used by other open source software. You can read about a variety of open source licenses at: http://en.wikipedia.org/wiki/Open-source_software
What is source code? Source code refers to all the text written by a computer programmer for the program to work or run. If you are using ANY kind of software program of any type, a programmer had to write the source code to do the feature you are using. Is Open Source the same as cloud software or Software as a Service? No, its not the same. Cloud software ( sometimes called Software as a Service) is a term that means the software is "browser based." The cloud software would be installed on a "web server" , then the person who needs to use the cloud software would use a web browser. The person would not need to install anything on their own PC or laptop. Some open source software is cloud software, such as Word Press for blogging. Other open source software is desktop-based, such as GIMP, a photo-editing tool similar to Adobe Photoshop. What are some examples of open source software? Joomla and Drupal are some of the most widely used website building programs. Apache Web Server, which is used by more than 54% of all websites. The next closely ranked web server is Microsoft's server, which has less than 25%. MySQL database, which is used by millions of organizations. CiviCRM is used by thousands of nonprofit organizations around the world. ( See a great video about CiviCRM ) Open Office is an open source equivalent to Microsoft Office. How does software being open source benefit me? I just want to use the software. I have no interest in looking at or changing the source code. Benefits you enjoy with open source: - No vendor lock in. When using proprietary software, the vendor chooses how much you pay and can raise the price at any time. If you need a change or new feature, the vendor may say no, especially when its not something they could sell to their other clients. With open source software, you can always pay a freelance programmer or outside group to create the feature you need. - Minimal risk if the vendor fails or discontinues the product. If this happens with your closed source software vendor, you are stuck and have to switch to something else. This is especially risky with web-based software hosted by the the vendor. We have seen situations where a large company chose to discontinue a web-based software product. Our customer only had 4 weeks to find an alternative and move all their stuff. - Open source communities generally treat all users as potential developers or contributors. Vendors generally treat all users as sources of income. - An unbeatable price- open source is free software, without restrictions. - You own any improvements you make. Would you pay to remodel a rental home? With vendor products, you are doing this whenever you pay the vendor for an improvement. Organizations can "sponsor a feature" for open source software. This means one organization ( or a group of organizations ) pays programmers ( or loans out a staff member ) to create a feature that they need. The new feature is then shared with the whole community. This is like when one family sponsors a kiddush. One family pays for the food, but everyone gets to eat. In a vendor solution, you can pay the vendor ( no one else ) to develop a new feature, but the vendor keeps ownership! That is like paying to remodel a kitchen in a rental home - Most successful open source software has large communities of people and organizations around the world using and improving the software. There are even businesses that are launched just to offer related products and services for the software. For example, there are so many millions of websites using Word Press and Joomla ( both open source ) that graphic design companies are selling designs ( and giving a lot for free ) for Word Press and Joomla. In fact, there are so many people, groups, organizations and related businesses that this is often referred to as an "ecosystem" . - With open source the cost of developing new features and fixing issues is shared by a large group. With proprietary software, a single company has to bear ALL the costs of development and bug fixes. This often leads to high prices and bottlenecks for innovation. In an open source community, a good idea can come from anyone AND be developed by anyone. Then the results are typically shared ( via the Internet ) with the rest of the community at no cost. Just like regular people share pictures on facebook, technical folks share code ( ie new features ) on the Internet. Is having open APIs the same as open source? API stands for "Application Programming Interface". This means programmers created a straight-forward way for outsiders to create new features for a software product, without giving outsiders access to the source code. For example, Apple has publicized the APIs for the iPhone so that many people can create new iPhone applications. Open Source products often have APIs as well. For example CiviCRM publishes all their APIs. Many extensions to CiviCRM rely solely on the public APIs and do not alter the source code of the core product. However, just because a product has open APIs you are still losing most of the benefits of open source. One company still controls the development of the core product. One company is still solely responsible for improving and supporting the core product. If you want to do something not supported by the APIs, you are are stuck when using proprietary software. Not to mention one company still controls the price and terms of use of the product. Do some commercial products have communities? Yes, examples are the Apple iPhone, where there are thousands of third-party extensions available. Also Salesforce, Google, and Facebook have communities of people creating extensions to the core product. It is very difficult to create and nurture a large thriving community around a software product. Just having open APIs is not enough to create the community. In the proprietary software world, so far only large and well-known companies have been successful at creating robust communities of folks extending their core product and making the contributions easy to discover. How does everything get done in an open source community? Who's in charge?In many ways an open source community is like a synagogue: when you start asking "why does something work this way? Wouldn't it be better if we did ...." without realizing it, you suddenly find yourself coordinating a new group to implement your idea. Each open source community has its own flavor, but all use the Internet to coordinate the work. There are web-based issue tracking systems, discussion areas, live chat areas, wikis and blogs. Like every community, some people and organizations pitch in more than others. There is also a team/committee of core developers that coordinate all the activities and end up doing a fair amount of work themselves. Plus there are in-person gatherings in the form of local user groups and large conferences.
|

