Freely available software is a boon! Just deploy and customize. No time wasted in development. The high level of effort and contributions on open source projects ticks many people into using them. Most highly contributed projects are developed with variety of use cases in mind. Where businesses think about monetizing on software, open source software comes as a relief to teams with a smaller bandwidth. The magic behind all of this is that contributors from various backgrounds come together with experience in building software for companies like Facebook and Google, enabling fascinating perspectives.
Why Open Source is better
There are several benefits of using Open Source Software(OSS) over proprietary software:
- No Obligatory Maintenance Cost: If the software is open source, there is a low upkeep cost. You do not pay a high price to maintain it. The community of developers supports it fervently.
- Abundant Documentation Online: Since OSS is almost free, it is easily accessible to anyone. If you face any issue, you can easily find plenty of documentation. Since the code itself is open, it can be considered a component of the manual. There would also be better support online in
- Abundant Documentation Online: Since OSS is almost free, it is easily accessible to anyone. If you face any issue, you can easily find plenty of documentation. Since the code itself is open, it can be considered a component of the manual. There would also be better support online in terms of technical help and learning material.
- Software Ownership: The good thing about OSS as compared to proprietary SaaS is that anyone can have a free copy of OSS. You do not have to worry about original contributors abandoning it. You can still customize and operate it to meet your organizational needs. The same cannot be said about the proprietary software.
- More Reliable: Since OSS is massively peer-reviewed, it is more reliable than proprietary software. As many developers have access to source code, they can easily spot the bugs or vulnerabilities. They can suggest fixes and improvement of the code.
- Rapid Adoption of Software: The OSS promotes open collaboration and mutual trust which might also lead to adoption by large companies. They might even contribute back to the project. This creates a virtuous cycle which leads to further deployment and maintenance.
- Effortless Integration: The ability to easily integrate with any other OSS products make it appealing. This feature helps in scaling and maintainability. You will not face vendor lock-in scenarios. Many companies also use along with the other common proprietary software.
- Bleeding Edge Technology: Usually OSS projects are not under any budgetary constraint. Diverse organizations and individuals voluntarily and eagerly contribute to them. These factors generally make them bleeding edge software technologies in any industry.
OSS is cheaper than proprietary software. The price of open source might be almost zero, but you still have to pay for running that software in the cloud as infrastructure and human resource costs. The benefits of using OSS should be usually expected to be higher than the cost of operating it. There are various factors you have to consider before using any OSS. Some factors are listed below:
- Availability of Managed Service: You are likely to find the managed service for any popular OSS. This aspect is essential if you cannot do self-hosting but also want to avoid vendor-lock scenarios.
- Customizable Software: The real benefit of using OSS is access to source code. Many developers use existing open source tools to build new and exciting OSS. If your company has the expertise of software stacks used in given OSS, you can use it to modify software to meet the business needs.
- Community Involvement: People host source code of any OSS as a repository on different sites like Github, Bitbucket, and Gitlab. You can evaluate any OSS before adopting by analyzing various metrics like the number of stars, followers, and recent activities. If several companies back any OSS project, then the chance of software being successful in the future is also high.
- Talent Pool: This can be an additional factor to consider before selecting any OSS. The number of people available in the software market with the knowledge of stacks used in developing OSS. If there are not many of them, then it can be challenging to maintain the project based on it.
Hosting OSS
There are numerous ways of hosting any OSS, but you have to consider various factors like cost, platform, and business size.
- Cloud Hosting: You can choose Infrastructure as Service(IAAS) provided by cloud providers like AWS, Azure, GCP, and Digital Ocean. The only thing you have to pay is for compute and storage resources. However, you have the responsibility of maintaining the software. It is generally cheaper than the managed service. Usually small and medium-sized companies use self-hosting for web and app servers.
- Managed Service: This is another way to deploy and operate OSS. The benefit of using OSS as a managed service over proprietary SaaS is the choice of self-hosting in the future for various reasons. Small and medium-scale companies commonly utilize managed service to host their critical data applications like databases, media storage, and static files store. You will see this kind of service for OSS generally cheaper than those based on closed source software.
- On-premise Hosting: Some companies host OSS on the premise because of governmental and data regulations. You can host some closed software and any open source on the premise, but hosting OSS is normally cheaper. If your demand for compute and storage resources are stable, on-premise can be cheaper than cloud hosting. It is not recommended to use it if you are running a startup or fast growing company and not legally required to run like this.
Options to get support for OSS
There are several ways of getting support for your open source software:
- Asking Questions on Various Forums: The delightful thing about OSS is that it is easily accessible to many people. The chances for many people to be familiar with it is high. You can post any question or problem on the forums like Stack-Overflow and expect answer or solution shortly.
- Freelance Support: If it is good OSS, countless people should be utilizing it. It is highly probable to find someone who has skills associated with it on freelance websites.
- Hiring Developer: If you are planning to use the particular OSS for the long run, it might be a good idea to hire developers having skills related to that tool.
- Managed Service: If you are using OSS as a managed service, you can get technical and customer support from the company providing it. You pay a monthly or an annual fee for using it.
Open Source Platforms We Use
Businesses are constantly looking for efficient solutions that improve their overall performance and allow their external and internal processes to run as smoothly as possible. From small to medium-scale companies, platforms have helped improve a company’s day-to-day efficiencies and decrease overall costs.Depending on your industry, there are many different open source tools that your company can utilize to improve the overall experience.Anyone who says their business "runs itself" probably owes a great debt of gratitude to a small army of software applications and Web services that tirelessly feeds the machine from behind the scenes. From creating and storing documents and staying on top of e-mail to keeping the books and getting teams working together, it takes a lot of code to run a business, or at least to run it well. But setting up your company isn't as easy as just fishing apps out of a barrel. You want the best you can get, and at a price that isn't through the roof.Here we’ll discuss some open source tools that we’ve been using to improve our internal & external experience.
Discourse is the 100% open source discussion platform built for the next decade of the Internet. Use it as a mailing list, discussion forum, long-form chat room, and more! Because Discourse is 100% open source forum software, now and forever, it belongs to you as much as it belongs to open source community. Websites like envato, udacity, codeacademy & others use discourse as their discussion forum.
Ghost is an Open source technology for fiercely independent publishers. Use Ghost to run a modern publication where you own the platform & control your content.
Today, Ghost powers an incredible range of websites; from individual bloggers who are just getting started, to large teams of writers and editors at some of the largest organisations in the world. Publishers like medium, duckduckgo, digitalocean and alot more are built on top of ghost.
Rocket Chat is a secure, open source and fully customizable Cloud or Self-Managed Atlassian HipChat and Slack-alternative that brings all team communication into one place across web, desktop and mobile (Android and iOS). With Rocket.Chat, communicate and collaborate using team chat and switch to video or audio calls with screen sharing for more efficient teamwork. Improve productivity by discussing and sharing ideas, projects and files with real-time or asynchronous team chat.
- Open edX : is the open source platform that powers edX courses. It is the massively scalable learning software platform behind edX and also the learning platform of choice for global organizations such as Microsoft and IBM.
- WordPress : is a free and open-source content management system, Thanks to its many it is endlessly adaptable to any company’s changing needs, the Design of Your Website is 100% Customizable. Extend your websites functionality using hundreds of plugins from wordpress directory or from custom third-party developers, & get extensive community support while creating websites. There are thousands of designers, developers and enthusiasts out there to help if you get stuck.
- Gluu : offers an open source IAM platform for organizations to deliver a central authentication & authorization service for web and mobile applications. It offers a unified experience
- cross-protocol single sign-on (SSO) to any application that leverages Gluu for login. Configuration is Provided and you can custom tailor to fit your needs. Has strong user groups, wikis, and FAQ's covering a wide variety of topics.
- JupyterHub : JupyterHub brings the power of notebooks to groups of users. It gives users access to computational environments and resources without burdening the users with installation and maintenance tasks.
- JupyterHub runs in the cloud or on your own hardware, and makes it possible to serve a pre-configured data science environment to any user in the world. It is customizable and scalable, and is suitable for small and large teams, academic courses, and large-scale infrastructure.
This is a companion discussion topic for the original entry at https://blog.datasciencedojo.com/p/46321a80-e5bf-4b7c-9a9d-c05b16134b2b/