The Current State of Open Source
Open source – software with source code that anyone can inspect, modify, and enhance – has changed the landscape of technology development, helping to accelerate innovation and enabling significant advancements in the way we live, work, and communicate.
The concept of open source is similar to that of science; if everyone kept their methods to themselves, scientific discovery would move more slowly. We could see the results, but we could not build on the research nor validate others’ results. Open source is altruistic, allowing ideas that can be perpetuated and for methods and algorithms to be reused and refined for other purposes. At its core, open source refers to the decentralized development model that encourages open collaboration when developing digital works.
Over the past few decades, open source has evolved from a marginal, much-debated concept advocated by nonprofit organizations to a norm that permeates almost every area of technology. Along with its adoption by organizations and businesses, the open source community has grown exponentially with members from various industries beyond IT. GitHub reported more than 73 million developers using its platform with over 16 million new users in 2021.
Advantages of Open Source
- Availability of source code
- Flexibility and agility
- Speed
- Cost-effectiveness
- Start small and Beta test
- Information security support
- Shared maintenance
- Thinking ahead to the future
Advantages of Open Source for Organizations
Open source is more than a platform; it’s a community, too. A developer can easily contact other developers living in all parts of the world. The platform enables you to ask questions, explore, and learn. For an enterprise, there are many benefits to be gained via open source, including the following:
- Availability of Source Code: A programmer always has a purpose for the end user. With open source, a developer can see the source code of software entirely, download it, and use the basic structure. Open Source is highly configurable. A programmer may be able to make modifications to the code to achieve the desired purpose or outcome. Furthermore, anyone can download and use open source software. There are no limitations regarding the user group or intended audience, purpose, frequency of use, and end use devices for the software. There are no license fees to pay.
- Flexibility and Agility: Open source enables technology agility, usually offering multiple approaches to problem solving. Instead of waiting for a vendor to deliver a needed capability, open source helps you create the solution yourself. In the world of business, agility separates top performers from lagging competitors.
- Speed: Complementing flexibility and agility is the ability to take a problem and solve it more quickly. Open source provides the ability to start with community versions, evaluate them for your issue, and quickly move towards an enterprise-grade implementation of a large-scale, supported solution.
- Cost-Effectiveness: For organizations, open source is, almost always less expensive than a proprietary solution. Additionally, open source allows the ability to start small and scale up, which is advantageous to smaller organizations with more limited resources and budgets.
- Start Small and Beta Test: Open source allows the ability to quickly launch a project, starting small with community versions and testing alternative versions. Once you’ve found the solution and results you seek, it’s easy to migrate to a large-scale solution when the organization is ready.
- Information Security Support: The more users, the better for developing and innovating code as well as detecting and fixing bugs – and it’s more reliable. Security is also improved, as the code is thoroughly assessed and evaluated by the open source community of developers. It is common to have tester groups check new releases and, if any issues arise, they are addressed by the community.
- Shared Maintenance: One of the fundamental advantages of open source is community involvement. Rather than developing an application and maintaining it on your own, you can share the cost of maintaining and sustaining applications among multiple parties.
- Thinking Ahead to the Future: Open source is the future. We are increasingly seeing more Web, mobile, and cloud solutions built upon open source infrastructure.
Advantages of Open Source for Standards Development
Open source has taken on a new role in the standards world, providing opportunities for dynamic new collaborations that can further advance and improve technology.
For example, IEEE 1752.1 is the IEEE Standard for Open Mobile Health Data–Representation of Metadata, Sleep, and Physical Activity Measures. This standard used IEEE SA open for documentation, sample data, and JSON schemas for minimum metadata, physical activity and mobility, and sleep measures. Furthermore, updates to this open source project can be made by the Working Group without needing to develop and publish a new version of the standard itself.
Some of the specific ways IEEE SA Open helped IEEE 1752.1:
- Provided guidance on structuring their open source project, including example README files and other project documentation files. our guidance follows the best practices in open source
- Helped guide IEEE 1752.1 toward using Continuous Integration to automatically run tests to validate their schemas. Continuous Integration works by automatically running tests every time updates are submitted to the open source repository by a contributor (i.e., such tests are automatically run when a merge request is made).
- Helped the project follow best practices in publishing schemas to the web by using perma-id’s via the W3C’s w3id.org site.
Currently, an increasing number of IEEE standards projects and Industry Connections activities are actively using the IEEE SA Open platform, among more than 500 open source projects and over 1,300 active users on the platform.
The Flexibility of IEEE SA Open
IEEE SA Open is a comprehensive development platform open to anyone. It provides multiple models based on user, community, and project needs as well as use cases for standards and non-standards projects.
Why Choose IEEE SA Open?
- Give your project the trust and authenticity of IEEE
- Open, flexible development environment
- Unique service add-ons and customizations
- Easy for your members to initiate a project
- Open to community collaboration and contribution to platform features
IEEE SA Open is highly flexible and customizable to help users initiate, fast track, and scale their projects as organizational needs grow. More importantly, users can connect with IEEE’s extensive network of members, societies, standards committees, and working groups for collaboration.
IEEE SA Open can also provide support and guidance on approaches groups can take to doing software engineering and open source development. This guidance and support can be extremely valuable to the subject matter experts who may have great skill within their area of expertise but could use further support on general software engineering and open source development best practices. This platform helps steer projects in the right direction so that when they launch, they are using practices that will improve the adoption of their work and make it easier and more likely for others to be able to contribute to their open source project in the future.
IEEE SA’s self-hosted GitLab combined with Mattermost and Pages allow for a trusted toolchain that will adapt and grow to meet the needs of the open source communities. Initial core functionality includes:
- Project planning and management features
- Source code management
- Testing, code quality, and continuous integration features
- Docker container registry and Kubernetes integration
- Application release and delivery features
- Integrated Mattermost chat forum w/slash commands (Mattermost Android and iPhone apps are fully supported)
The IEEE SA Open community also encourages global collaboration of users to help create and improve diverse applications of shared technology. We welcome organizations, developers, and standards projects to take advantage of this free platform and advance technological innovation for the benefit of humanity.
Author: Josh Gay, IEEE SA Open Source Senior Manager