Building an Ecosystem with Open Source

Freely available software is a boon! Just deploy and customize with 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.

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’ve laid out open source platforms we’ve been using, we've chosen these open source projects after carefully evaluating certain aspects like software design, continuous bug fixes and timely contributions.

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% an open source forum software, it belongs to you as much as it belongs to the open source community. Websites like Envato and Codeacademy 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, and digitalocean are built on Ghost.

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.

Open edX is the open source platform that powers edX courses. Powering more than just edX, it's also the learning platform of choice for global organizations such as Microsoft and IBM.

  • Stanford University uses it at lagunita.stanford.edu for both on-campus students and distance learners.
  • MIT has made its private installation of the Open edX platform its central on campus LMS, with nearly 200 courses and 80 percent of students using it.
  • Harvard University uses it for online teaching and learning.

GitLab is a single application for the entire software development lifecycle. From project planning and source code management to CI/CD, monitoring, and security. Organizations can use this open source tool to provide internal management of git repositories which are used by several large tech companies including IBM, Sony, NASA, Alibaba, O’Reilly Media, and GNOME Foundation.

Rocket.Chat is a secure, open source, and fully customizable Cloud or Self-Managed Atlassian HipChat 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.

WordPress is a free and open-source content management system. Thanks to its many users, your website is endlessly adaptable and 100% customizable. Extend your websites functionality using hundreds of plugins from wordpress directory or from custom third-party developers, and get extensive community support while creating websites. There are thousands of designers, developers, and enthusiasts out there to help if you get stuck.

JupyterHub brings the power of notebooks to groups of users. It gives users access to computational environments and resources without burdening them 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 anyone in the world. It is customizable and scalable, and is suitable for small and large teams, academic courses, and large-scale infrastructure.

The Benefits of Open Source Software

There are several benefits of using Open Source Software (OSS) over proprietary software:

  1. No Obligatory Maintenance Cost: If the software is open source, there is a low cost to upkeep. You do not pay a high price to maintain it. The community of developers supports it fervently.
  2. Abundant Documentation Online: Since OSS is almost free, it's easily accessible to anyone. If you face any issue, you can easily find plenty of help via video tutorials, blog instruction, online forums, etc. Since the code itself is open, it can be considered a component of the manual.
  3. Software Ownership: The good thing about OSS, as compared to proprietary software as a service (SaaS), is anyone can have a free copy of OSS. You do not have to worry about the original contributor while customizing it to meet your organizational needs, something you cannot do with proprietary software.
  4. More Reliable: Since OSS is massively peer-reviewed, it's more reliable. As many developers have access to source code, they can easily spot the bugs or vulnerabilities and suggest fixes and improvement to the code.
  5. Rapid Adoption of Software: OSS promotes open collaboration and mutual trust which also leads to adoption by large companies. Big corporations have been known to contribute back to community-based projects. This creates a virtuous cycle which leads to further development and maintenance of the source code.
  6. Effortless Integration: OSS offers the ability to easily integrate with any other OSS product. This feature helps in scaling, maintainability, and makes it appealing to users. You will not face vendor lock-in scenarios, which make it difficult to transfer data from one software to another (kind of like transferring contacts between Apple and Samsung mobile devices). Many companies also use OSS along with the other common proprietary software for this purpose.
  7. 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 at the forefront of 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 can be expected to be higher than the cost of operating it. There are various factors you have to consider before using any open source software. Our most important factors are listed below:

  1. Availability of Managed Service: You're likely to find the managed service for any popular OSS. This aspect is essential if you cannot self-host but also want to avoid vendor-lock scenarios.
  2. 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 the given OSS, you can use it to modify software to meet your business needs.
  3. 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 an OSS project, then the software will have a higher probability of being successful in the future.
  4. Talent Pool: The number of people available in the software market with the knowledge of a software stack used in developing an OSS is an additional factor to consider before selecting any software. If there aren't many, then the project can be a challenging to maintain.

Hosting OSS

There are numerous ways of hosting any OSS, but you have to consider various factors like server cost, cloud platform, and business size.

  1. Managed Service: 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.
  2. Cloud Hosting: You can choose Infrastructure as a Service (IaaS) provided by cloud providers like AWS, Azure, GCP, and Digital Ocean. The only thing you pay for is compute and storage resources. However, you have the responsibility of maintaining the software. It is generally cheaper than managed service. Usually small and medium-sized companies use self-hosting for web servers.
  3. On-premise Hosting: Some companies host OSS on-premise because of government and data regulations. You can host some closed software and any open source on premise, but hosting OSS is normally less expensive. If your demand for compute and storage resources are stable, on-premise can be of lower cost than cloud hosting. It is not recommended to use if you're running a startup, fast growing company, or not legally required.

Options to get support for OSS

There are several ways of getting support for your open source software:

  1. Asking Questions on Various Forums: The delightful thing about OSS is that it is easily accessible to many people. This accessibility creates a level of familiarity among industry experts. You can post any question or problem on forums, like Stack-Overflow, and expect an answer or solution shortly.
  2. Freelance Support: If it is highly contributed OSS project, you can find thousands of people who can do the set-up for you. It is highly probable to find someone who has skills for a OSS project on freelance websites like Upwork.
  3. Hiring Developer: If you are planning to use an open source software for the long run, it might be a good idea to hire developers having skills related to the software stack of the OSS you've chosen.
  4. Managed Service: If you are using OSS as a managed service, you can get technical and customer support from the company providing it. You typically pay a monthly or annual fee for using it.

Conclusion

Open-source offers a transparent yet safe system of development that puts users first. As the market changes with more developers choosing to open-source their projects, the benefits for both peers and customers increases. As Tech Crunch says, “companies 20 years ago built monopolies on licensed software; today, free and open–source code fertilizes economic growth. The way to win at tech is no longer to own code, but to serve customers — and service has open-source at its roots.”

Thank you! for reading and if you want to learn more about open source, you can read open source FAQs, how-to guides, and tutorials to get started.

Similar Posts
            </div></div>

This is a companion discussion topic for the original entry at https://blog.datasciencedojo.com/open-source-ecosystem/