Eclipse OSCAT

Thursday, January 16, 2025 - 05:02 by Franz Höpfinger
This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the community. Please login and add your feedback in the comments section.
Parent Project
Proposal State
Community Review
Background

Automation technology is a cornerstone of modern industry, enabling efficiency, precision, and scalability in manufacturing, process control, and building management. However, the development and deployment of automation solutions often rely heavily on proprietary software and tools, which limit accessibility, interoperability, and innovation.

The Open Source Community for Automation Technology (OSCAT) has been a recognized initiative in the automation domain, offering free libraries and resources for Programmable Logic Controllers (PLCs) and industrial control systems. These libraries have been widely used for tasks such as mathematical calculations, data processing, and control algorithms. Despite their value, OSCAT's resources require modernization, better tooling, and a more structured framework for development and collaboration.

By proposing Eclipse OSCAT, we aim to revitalize and expand upon the original OSCAT initiative, leveraging the Eclipse Foundation's robust ecosystem for open-source projects. Eclipse OSCAT will provide a vendor-neutral, community-driven platform to develop and maintain libraries, tools, and standards for the automation industry.

This project seeks to bring together developers, engineers, and organizations to advance automation technology through open collaboration, ensuring compatibility with industry standards such as IEC 61131-3 and fostering innovation in IoT and smart manufacturing.

Scope

The Eclipse OSCAT project provides a suite of open-source libraries, tools, and resources to support the development of solutions for Industrial Automation and Building Automation. The project emphasizes accessibility, modularity, and adherence to industry standards, ensuring broad applicability and ease of integration in various automation environments.

In Scope:

  1. Library Development:
    • Development of reusable libraries for common automation tasks such as:
      • Mathematical operations and signal processing.
      • Data manipulation and storage.
      • Control logic for industrial and building automation applications.
      • IoT integration for smart systems and connected devices.
    • Adherence to relevant standards, including IEC 61131-3 and IEC 61499, to ensure interoperability and standardization.
  2. Tooling Support:
    • Development of Eclipse IDE plugins to facilitate the configuration, testing, and deployment of automation systems.
    • Integration tools for compatibility with existing platforms such as CODESYS, Siemens TIA Portal, and other open systems.
  3. Industrial and Building Automation Use Cases:
    • Libraries and tools for specific applications in industrial automation, such as factory automation, process control, and robotics.
    • Resources for building automation, including HVAC control, lighting systems, and energy management.
  4. Community and Collaboration:
    • Creation of a community-driven development model with contribution guidelines, forums, and support resources.
    • Engagement with developers, engineers, and enthusiasts to enhance the libraries and tools collaboratively.
  5. Documentation and Education:
    • Comprehensive user and developer documentation, including examples, tutorials, and best practices.
    • Educational resources focused on adopting and integrating open-source solutions into industrial and building automation systems.

Out of Scope:

  1. Proprietary or closed-source solutions that conflict with the project's open-source principles.
  2. Development of hardware-specific tools or libraries that are not adaptable to a broader range of platforms.
  3. Direct implementation of end-user applications; the focus will be on reusable components and foundational tools.

By addressing these areas, Eclipse OSCAT aims to provide a flexible, vendor-neutral foundation for building innovative solutions in Industrial Automation, Building Automation, and beyond.

Description

Advantages of Transferring OSCAT to the Eclipse Foundation

Introduction to OSCAT

The Open Source Community for Automation Technology (OSCAT) is a well-established initiative that provides a suite of software packages designed to enhance automation technology. OSCAT consists of three main packages: OSCAT-Basic, OSCAT-Network, and OSCAT-Building. These packages are compatible with various platforms, including CODESYS 2.3, CODESYS 3.5, Siemens S7, and PC Worx (All other brand names and trademarks are the property of their respective owners and are used for descriptive purposes only). OSCAT's mission is to offer open-source solutions that facilitate automation in industrial and building environments, promoting innovation and accessibility in the field.

Benefits to OSCAT

  1. Enhanced Governance and Structure:
    • Vendor-Neutral Governance: The Eclipse Foundation offers a vendor-neutral governance model that ensures fair and transparent decision-making processes. This structure can help OSCAT maintain its integrity and independence, avoiding potential conflicts of interest.
    • Intellectual Property Management: The Eclipse Foundation has established processes for managing intellectual property, which can protect OSCAT's assets and ensure compliance with legal standards.
  2. Increased Visibility and Adoption:
    • Global Recognition: Being part of the Eclipse Foundation can significantly boost OSCAT's visibility within the global open-source community. The Eclipse brand is well-respected and widely recognized, which can attract more users and contributors.
    • Community Engagement: The Eclipse Foundation's extensive network can facilitate greater community engagement, fostering collaboration and innovation. This can lead to more rapid development and improvement of OSCAT.
  3. Access to Resources and Infrastructure:
    • Technical Infrastructure: OSCAT can benefit from the Eclipse Foundation's advanced technical infrastructure, including build systems, code repositories, and continuous integration tools. This can streamline development processes and improve software quality.
    • Funding and Support: The Eclipse Foundation can provide financial support and resources for marketing, events, and other activities that promote OSCAT. This can help sustain and grow the project over time.

Benefits to the Eclipse Foundation

  1. Expansion of Project Portfolio:
    • Diverse Ecosystem: Integrating OSCAT into the Eclipse Foundation's portfolio can diversify its ecosystem, attracting new contributors and users from different domains. This can enhance the Foundation's overall impact and reach.
    • Innovation and Collaboration: OSCAT's unique features and capabilities can inspire new projects and collaborations within the Eclipse community, driving innovation and technological advancement.
  2. Strengthening Open-Source Standards:
    • Standardization Efforts: The Eclipse Foundation's collaboration with standards organizations can benefit from OSCAT's inclusion. OSCAT can contribute to the development of open-source standards, promoting interoperability and best practices.
    • Compliance and Security: By adhering to the Eclipse Foundation's rigorous development processes, OSCAT can enhance its compliance with industry standards and improve its security posture.
  3. Community and Ecosystem Growth:
    • Broader Community: The addition of OSCAT can attract a broader community of developers, users, and stakeholders to the Eclipse Foundation. This can lead to a more vibrant and diverse ecosystem, fostering greater collaboration and knowledge sharing.
    • Ecosystem Synergies: OSCAT can create synergies with other Eclipse projects, enabling the development of integrated solutions and expanding the Foundation's capabilities in various technological areas.

Special Focus on Home and Building Automation

The Eclipse Foundation has ongoing activities and projects focused on home and building automation. By integrating OSCAT, which includes the OSCAT-Building package, the Eclipse Foundation can strengthen its position in this domain. OSCAT's expertise and solutions can complement existing Eclipse projects, leading to more comprehensive and innovative automation solutions for smart homes and buildings.

Industrial Automation

OSCAT is widely used in Industrial Automation, which widens the Scope of the above mentioned Activities into a wider Field of Applications, giving multiple synergy effects in reusability and stability of control Software.

Conclusion

The transfer of OSCAT to the Eclipse Foundation as Eclipse OSCAT offers substantial advantages for both parties. OSCAT can benefit from enhanced governance, increased visibility, and access to resources, while the Eclipse Foundation can expand its project portfolio, strengthen open-source standards, and grow its community. This strategic move can ultimately lead to a more robust, innovative, and collaborative open-source ecosystem, particularly in the field of home and building automation.

Why Here?

The Eclipse Foundation is the ideal home for the Eclipse OSCAT project because of its commitment to fostering open-source innovation and its strong ecosystem of projects in the IoT, automation, and industrial domains. The Foundation’s vendor-neutral governance model, robust infrastructure, and active global community provide the perfect environment to achieve the project’s goals.

  1. Alignment with Eclipse Foundation's Mission:
    • Eclipse OSCAT aligns closely with the Eclipse Foundation's mission to promote open, transparent, and vendor-neutral software development.
    • By addressing the needs of the industrial and building automation sectors, Eclipse OSCAT extends the Foundation's focus on IoT, edge computing, and open standards.
  2. Established Ecosystem:
    • The Eclipse Foundation hosts several projects that complement Eclipse OSCAT, such as Eclipse 4diac (focused on IEC 61499), Eclipse Ditto (digital twins), and Eclipse Kura (IoT gateways).
    • Integration with these projects can accelerate the adoption and interoperability of Eclipse OSCAT tools and libraries.
  3. Vendor-Neutral Platform:
    • The Eclipse Foundation’s vendor-neutral approach ensures that Eclipse OSCAT will remain accessible and free from proprietary restrictions, encouraging broad community participation.
  4. Community and Collaboration:
    • The Eclipse Foundation has a strong global community of developers, contributors, and organizations that can actively participate in and contribute to the Eclipse OSCAT project.
    • The project's goals align with the interests of Eclipse's industrial members and automation enthusiasts, fostering collaboration.
  5. Infrastructure and Governance Support:
    • The Eclipse Foundation provides a mature infrastructure for hosting open-source projects, including Git repositories, issue tracking, CI/CD pipelines, and forums.
    • Its governance framework ensures transparency, fair contribution policies, and robust intellectual property (IP) management, which are essential for the success of Eclipse OSCAT.

By joining the Eclipse Foundation, Eclipse OSCAT can leverage this unique ecosystem to accelerate development, foster collaboration, and promote the adoption of open-source solutions in industrial and building automation.

Future Work

The Eclipse OSCAT project is designed with scalability and future growth in mind. After the successful implementation of the initial scope, the project aims to evolve in the following areas:

  1. Advanced Library Development:
    • Expand libraries to include support for emerging technologies such as Artificial Intelligence (AI) and Machine Learning (ML) in industrial and building automation.
    • Develop libraries for advanced control systems, predictive maintenance, and energy optimization.
  2. Enhanced Standards Support:
    • Extend compatibility with additional industrial standards, including OPC UA and MQTT, to improve interoperability with other systems.
    • Enhance compliance with IEC 61499 and explore support for new or evolving standards in the automation domain.
  3. Integration with Emerging Technologies:
    • Enable seamless integration with digital twins, cloud platforms, and edge computing solutions to support Industry 4.0 and smart building initiatives.
    • Investigate the use of blockchain for secure and transparent automation data handling.
  4. Tooling and Ecosystem Expansion:
    • Develop additional Eclipse IDE plugins to simplify automation workflows and provide advanced debugging, simulation, and visualization capabilities.
    • Establish an ecosystem of complementary tools and solutions by collaborating with other Eclipse projects, such as Eclipse Kura and Eclipse 4diac.
  5. Hardware Support:
    • Introduce hardware abstraction layers to support integration with a broader range of devices, such as PLCs, IoT gateways, and edge devices.
    • Explore the creation of hardware reference designs and support for open-source hardware initiatives.
  6. Community Growth and Outreach:
    • Launch initiatives to expand community engagement, including hackathons, webinars, and partnerships with universities and research organizations.
    • Foster collaboration with industrial partners to drive adoption and contribute domain expertise.
  7. Educational Resources:
    • Develop advanced educational content, including certification programs, to train professionals and students in open-source automation technologies.
  8. Long-Term Sustainability:
    • Implement a sustainability strategy, including funding models, to ensure the project's long-term viability and growth.
    • Explore partnerships with industry organizations and standards bodies to enhance the project’s reach and impact.

By pursuing these future work areas, Eclipse OSCAT will remain at the forefront of innovation in industrial and building automation, continuing to provide value to developers, organizations, and the broader community.

Project Scheduling

The Eclipse OSCAT project will follow a phased approach to ensure steady progress, deliver tangible results, and engage the community effectively. Below is the proposed schedule:

Phase 1: Project Setup and Initial Contribution (Months 1–3)

  • Finalize project approval and set up repositories, issue trackers, CI/CD pipelines, and other infrastructure.
  • Perform an initial IP review of the OSCAT community libraries and migrate the approved libraries to Eclipse infrastructure.
  • Define project governance, contribution guidelines, and community engagement strategies.
  • Publish the project's website and introductory documentation.

Phase 2: Core Development and First Release (Months 4–12)

  • Develop and refine core libraries for industrial and building automation tasks, focusing on compatibility with IEC 61131-3 and IEC 61499.
  • Create sample applications demonstrating library usage for both industrial and building automation scenarios.
  • Release the Eclipse OSCAT Core 1.0, including:
    • Core libraries.
    • Basic Eclipse IDE plugins for library integration.
    • Initial documentation and tutorials.

Phase 3: Community Building and Expansion (Months 13–24)

  • Host webinars, workshops, and hackathons to attract contributors and users.
  • Collaborate with other Eclipse projects (e.g., Eclipse 4diac, Eclipse Kura) for interoperability and ecosystem growth.
  • Expand library support for advanced use cases, such as IoT integration, edge computing, and energy management.
  • Release Eclipse OSCAT 2.0, incorporating community feedback and additional features.

Phase 4: Advanced Features and Ecosystem Integration (Months 25–36)

  • Develop advanced tooling and visualization features, including debugging, simulation, and monitoring capabilities.
  • Enhance support for emerging standards such as OPC UA and MQTT.
  • Introduce hardware abstraction layers to support a broader range of devices.
  • Release Eclipse OSCAT 3.0 with a focus on ecosystem integration and advanced use cases.

Ongoing Activities (Throughout the Project)

  • Continuously engage the community through forums, issue tracking, and regular updates.
  • Maintain and update documentation and tutorials to align with new releases.
  • Regularly collect feedback from users and contributors to improve the project.

This schedule provides a structured and achievable roadmap for the development, growth, and success of the Eclipse OSCAT project.

Project Leads
Committers
Hans Mühlbauer (This committer does not have an Eclipse Account)
Kurt Strasser (This committer does not have an Eclipse Account)
Interested Parties

Alois Zoitl (3493) will participate as a mentor

Initial Contribution

The initial contribution for the Eclipse OSCAT project will consist of foundational libraries, tools, and resources sourced from the existing OSCAT (Open Source Community for Automation Technology) initiative. These contributions will be reviewed, modernized, and adapted to meet Eclipse Foundation standards, ensuring compliance with the Eclipse Public License (EPL).

Key Components of the Initial Contribution:

  1. Core Libraries:
    • Libraries designed for industrial and building automation tasks, including:
      • Mathematical operations and signal processing.
      • Data manipulation and storage.
      • Building automation control, such as HVAC and lighting systems.
      • Process control and industrial automation use cases.
  2. Sample Applications:
    • Example projects demonstrating the use of the libraries for common automation scenarios.
  3. Documentation:
    • Existing documentation from the OSCAT community, which will be refined and expanded for clarity and accessibility.
    • Tutorials and best practices for integrating the libraries into automation workflows.
  4. Development Tools:
    • Basic configuration and integration tools compatible with popular platforms, such as CODESYS and Eclipse IDE.

Review and Adaptation:

  • The initial contribution will undergo an Intellectual Property (IP) review by the Eclipse Foundation to ensure compliance with open-source licensing requirements.
  • Any necessary updates or enhancements will be made to the codebase to align with modern development practices and ensure compatibility with industry standards, including IEC 61131-3 and IEC 61499.

Value of the Initial Contribution:

The initial contribution provides a strong starting point for the project, leveraging proven libraries and tools that have been widely adopted in the automation community. By adapting these resources to the Eclipse ecosystem, the project will immediately deliver value to developers and organizations seeking open-source solutions for industrial and building automation.

 

Source Repository Type