1 / 42

PDS Tools Catalog

PDS Tools Catalog. PDS Management Council March 28, 2019. Introduction. Background. Tools Working Group (TWG) was started coordinate tool development efforts across nodes PDS is missing defined software processes and collaborative development guidelines

mworkman
Download Presentation

PDS Tools Catalog

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PDS Tools Catalog PDS Management Council March 28, 2019

  2. Introduction

  3. Background • Tools Working Group (TWG) was started coordinate tool development efforts across nodes • PDS is missing defined software processes and collaborative development guidelines • Confusion regarding tools with overlapping functionality • Discipline Nodes are producing high quality software tools that can only be found at specific node

  4. What We Need • A centralized catalog of PDS tool projects • A framework for managing what makes it into this catalog

  5. Proposal:PDS adopt an Apache-like foundation for managing a centralized PDS Tools Catalog • Initial scope will be focused on software development efforts with applicability across multiple PDS Nodes • Development through open, collaborative software development encouraged • Process for management and acceptance will follow similar processes defined by Apache Software Foundation governance • Processes will be lightweight • Want to encourage better software processes with minimal overhead

  6. PDS Tools Catalog • A centralized, managed portfolio of PDS software tools • Managed through NASA PDS Github • Now: no defined process for managing what goes here • Goal: defined roles and processes for managing and operating this organization • https://github.com/nasa-pds • Posted on PDS website • Now: includes PDS EN Tools and tools inherited by PDS EN (e.g. PLAID) • Goal: enhance this to include tools developed by discipline nodes • https://pds.nasa.gov/tools/about/

  7. Logical place for solving these issues is Tool Working Group • From Tool Working Group Charter: “The PDS4 Tool Working Group is a subcommittee of the PDS Management Council (MC). Its purpose is to identify and coordinate tool development needs and priorities across the PDS.”

  8. TWG will be responsible for PDS Tool Catalog governance

  9. Using PDS Incubator

  10. The benefits of having a catalog of software tools will encompass all the benefits that come with open source software development, including: • Improving overall quality and fidelity of software • Minimizing duplication of effort • Providing a cohesive view of NASA PDS organizational software • Encouraging input and open development with software and science communities • Leveraging the power of Github

  11. Steps Forward • TWG will discuss details and guidelines of Incubator and acceptance to Tools Catalog • Define process for grandfathering in projects already under NASA PDS Github Org • Discuss and review template Incubator project • Look into CI/CD options, processes, etc. for ensuring robust software

  12. Backup

  13. Apache Software Foundation (ASF):Overview

  14. Non-profit public charity organization • Develops, stewards, and incubates more than 350 Open Source projects and initiatives that cover a wide range of technologies. • e.g. Apache HTTP Server - the world's most popular Web server software • Mission: provide software for the public good • Provide a foundation for open, collaborative software development projects https://www.apache.org/foundation/how-it-works.html

  15. “The Apache Way” Six principles have been cited as the core beliefs of philosophy behind ASF: • collaborative software development • commercial-friendly standard license • consistently high quality software • respectful, honest, technical-based interaction • faithful implementation of standards • security as a mandatory feature https://www.apache.org/foundation/how-it-works.html

  16. Apache Software Foundation: Governance Overview

  17. http://www.apache.org/foundation/governance/orgchart

  18. Additional Details • Development: All technical direction and development of software project managed by PMCs, led by Committers, and contributed to by open source community (developers) • Communication: Mailing lists for • PMC/Committers – private email list for new committer votes, project direction, etc. • Developer and User – public email list for Q&A, development/design discussions, etc. • Decision Making: • Projects are normally auto governing  • "do-ocracy” -  power of those who do • Coordination (e.g. releases, new PMC members, new committers, etc.) uses lazy consensus approach • a few positive votes with no negative vote is enough to get going • Voting is done with numbers: • +1 -- a positive vote • 0 -- abstain, have no opinion • -1 -- a negative vote https://www.apache.org/foundation/how-it-works.html

  19. How Does A Project Become a Part Of the Apache Software Foundation?

  20. THE FOUNDATION INCUBATORhttps://incubator.apache.org/

  21. What Does This All Mean For PDS?

  22. PDS Tools Catalog:Governance

  23. Apache Governance Tool Working Group was elected by PDS MC and appears to be logical team to manage this catalog: • From TWG Charter: The PDS4 Tool Working Group is a subcommittee of the PDS Management Council (MC). Its purpose is to identify and coordinate tool development needs and priorities across the PDS.” PDS Governance

  24. Apache Governance Tool Project Teams: • New projects are brought to TWG by “Champion” Node • Champion Node will Chair the Tool Project Team • Tool Project Teams are Appointed by Champion Node recommendation • Tool Project Teams are managed via a Github Team, where applicable • Tool Project Teams are responsible for all technical direction of the project. PDS Governance

  25. Apache Governance Committers and Developers: • Committers are members of project development community who have been granted write access to the project • Nominated by Tool Project Team • Managed via Github Team • Allowed to update and merge changes based upon project guidelines • Developers are anyone from the science and/or open source communities who want to contribute to a project • Not direct write access to repo • All contributed code must reviewed and merged by Commiters PDS Governance

  26. PDS Tools Catalog:Incubator

  27. The PDS Tools Incubator is the entry path into The PDS Tools Catalog • Process flow mimics ASF, but more lightweight processes and less overhead • Proposing a Tool Project for Incubation can happen at any point in development lifecycle • New project can be created in NASA PDS Incubator Github based on template PDS project, if desired • Dependent upon organizations open source and intellectual property policies • Projects are encouraged to communicate across nodes and personnel • Improved integration of tools and APIs • Best practice that can become part of “The PDS Way” • Incubator will help provide projects by: • communicating the tools in development to TWG and other node personnel • creation of the project and teams/email lists (EN Operations) • providing guidelines and best practices for PDS projects • Promotion from Incubator will include an evaluation of the maturity of the incubated project, either promoting it to PDS Tools Catalog or providing recommendations for improvement

  28. Example Incubator Project:PDS Inspect Tool

  29. Assuming tool has been accepted in PDS Incubator: • New project created under NASA PDS Incubator Github Org

  30. Github Teams created for managing the software repository • Google Groups created for team communications

  31. Team will then work to ensure software meet TBD guidelines in order to be accepted into PDS Tools Catalog • Open source licensing (preferably Apache) • Test Plan and regression tests • User Guide • etc. • Then proceed to Promotion Review • TBD review process and checklist

  32. Once accepted to PDS Tools Catalog, repo is transferred to NASA-PDS Github • Link to released binaries and/or Github repo placed on pds.nasa.gov/tools page NASA-PDS Github PDS Tools web page

  33. Potential Benefits

  34. Summary

  35. Apache Software Foundation is a non-profit organization that develops, stewards, and incubates open source software project development • Proposal: PDS adopt an Apache-like foundation for managing a centralized PDS Tools Catalog • PDS will leverage a process similar to the ASF Incubator process for acceptance and promotion of tools into the PDS Tools Catalog • Provides a cohesive view of NASA PDS organizational software • Encourages input and open development with software and science communities • Details of reviews and PDS software guidelines still need to be developed

  36. Roles and responsibilities from Apache: “The Membership elects a Board of Directors which sets corporate policy and appoints officers; … and the Board appoints various Project Management Committees (PMCs) which run our many Apache software projects.” “A PMC member is a developer or a committer that was elected due to merit for the evolution of the project and demonstration of commitment.” More on Meritocracy at Apache

  37. More on Project Management Committees: “… the board delegates the technical direction of all projects to each PMC. PMCs are expected to follow corporate policies in terms of licensing, branding, infrastructure and so on, and are expected to manage their projects independently  using The Apache Way. PMCs are tasked with all other aspects of project management, especially technical direction.”

  38. Committers maintain the software: “Committers are members of project development community who have been granted write access to an Apache project. Each project's PMC invites people who have shown merit within their project to become committers.”

  39. Developers contribute to software: “A developeris a user who contributes to a project in the form of code or documentation. They take extra steps to participate in a project, are active on the developer mailing list,…”

More Related