Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
203 lines (131 sloc) 24 KB

Status updateOn October 17, 2019 the ONNX Steering Committee voted to join Linux Foundation AI (LF AI). On October 24, 2019 the LF AI Technical Advisory Board voted to accept our proposal to join LF AI and on October 31, 2019 the LF AI board unanimously approved ONNX joining LF AI as a Graduate Project.

A formal announcement will be made on November 14, 2019. If you are an ONNX member company and would like to provide a quote for the press release from LF AI, please contact Prasanth Pulavarthi.

ONNX Foundation: A Working Group Whitepaper

Draft 20191005 v4

Jim Spohrer (co-chair), Ryan Loney (co-chair), Alex Sergeev, David Aronchick, Thomas Truong, Wenjing Chu

Abstract: This whitepaper is intended to help members of the ONNX community who would like to better understand the reasons for establishing a non-profit, vendor-neutral legal entity. Three umbrella foundations (polling options to be ranked) are described in this whitepaper and all have values that are consistent with ONNX community values: Open, welcoming and respectful, transparent and accessible, merit, speed. Umbrella foundations help communities like the ONNX community more rapidly establish high-quality non-profit, vendor-neutral legal entities that grow ecosystems around core technologies. Before members go to the polling page and cast their final vote, they are encouraged to read this whitepaper to make an informed decision when rank-ordering the three choices. An initial straw-poll is already underway (please vote), and members are allowed to re-vote and change their previous ranking before a deadline to be announced. In the meantime, ONNX members are encouraged to ask questions and make comments on the Foundation WG Gitter. Finally, this whitepaper is intended to organize information useful to the ONNX Steering Committee when and if they decide to execute any of the options described below.

1. Introduction: Motivation and Goals

The ONNX community was established in 2017 by Facebook and Microsoft to create an open ecosystem for interchangeable models. Support for ONNX has grown to over 30 organizations. ONNX is an open format to represent deep learning models that execute on a variety of hardware platforms and clouds, optimized for ONNX. ONNX allows AI developers to more easily move AI models between tools that are part of trusted AI/ML/DL workflows. The most recent ONNX community meeting had over 150 attendees in Santa Clara, CA. ONNX v1.6 was released on Sept 27, 2019. More about ONNX members is in Appendix A.

Why is there a need for an ONNX Foundation Working Group at this time? The industry best practice for the long-term success of open source communities is well-documented to be a non-profit, vendor-neutral entity with established open governance processes that stewards and has clear ownership rights of community assets (Ingo 2010). The ONNX community has matured to the point, recently adding open governance processes, where the current lack of a non-profit, vendor-neutral entity is a blocker and inhibitor to some members. ONNX community IP and assets include the ONNX trademark, ONNX GitHub repository, as well as a community website - currently these are still ultimately controlled by specific vendors, and not a non-profit legal entity.

In sum, to make IP ownership clear, accelerate the growth of ONNX as an industry standard, gain more adopters and contributors, consolidate and align related-industry efforts, avoid wasteful duplicated efforts and code branches, and ensure a stable entity home for the long-term success of the ONNX community members, the time has come for an ONNX vendor-neutral, non-profit legal entity in a foundation. To grow the community of adopters and contributors with fewer blockers and inhibitor, the ONNX Foundation WG has been exploring options consistent with industry best practices for open source technologies.

2. Three Top Options

Three top options have been identified: Linux Foundation, Apache Software Foundation, Eclipse Foundation – these are all umbrella foundations with many largely independent sub-foundations, working groups, and/or projects. Each of the three umbrella foundations has evolved over time to handle a lot of the non-technical overhead for open source communities seeking to conform to industry best practices, and to become a legal entity that has clear rights to own assets with open governance procedures for ensuring the community collaborates to advance open source code at the core of the community. These three are well known, well established and well-run umbrella foundations that allow either sub-foundation status with benefits of a separate non-profit entity or new community projects/working groups to be added to existing structures. Each of these three “umbrella foundations” have senior leaders who have offered to help the ONNX community establish a non-profit, vendor-neutral legal entity in a few weeks or months, allowing the degree of independence and self-governing and/or support that the ONNX community requests. In short, they are all easy to work with and have good track records, that are well known to the ONNX member organizations’ executive, legal, communications, and finance teams.

Why the top options, and why not a new, entirely separate non-profit foundation? Simply put, lack of speed is why a new, entirely separate non-profit foundation is not recommended. A first step in that direction would be to find a neutral law firm – not an easy task. Also, law firms are expensive. MLPerf is working to establish MLCommons as a new, entirely separate non-profit foundation, and that effort is still several months away from completion after months of work - as recently reported “ducks are still not aligned.” Creating an ONNX Foundation in one of the top three established umbrella foundations makes a lot of practical sense and is consistent with the ONNX value of speed. The ONNX community values speed, openness, and transparency, and a new, separate non-profit, vendor-neutral legal entity is not consistent with the community value of speed and removal of unnecessary delays and bureaucracy. However, in the spirit of openness, if any ONNX community members see this new, entirely separate as viable, or other options, they are strongly encouraged and invited to join the ONNX Foundation WG and work towards the ends they see best, and let their voices be heard. By working openly and transparently, we can reach the best collective outcome, and be aware of concerns and issues of diverse community stakeholders.

Selection Criteria: The selection criteria used to focus on these top three options/choices, including:

  1. Alignment of values (reason: All ONNX community values must be maintained as new legal entity is established with rights to the IP and assets that community has created)
  2. Established non-profit foundation, rather than creating a new foundation (reason: speed)
  3. Ability for ONNX to self-govern (reason: community has already agreed to an open governance framework)
  4. Straightforward process to transfer ONNX IP and legal review for steering committee to join (reason: speed, since many ONNX member organizations are already active in these three options, and they are well known by executives and legal departments in key ONNX member organizations)
  5. Keep cost to a minimum (reason: speed, funding approval takes time)

Below we examine how well each option meets these three criteria, and various pros and cons of each choice.

2.1 Linux Foundation

History and Mission: In 2000, the Linux Foundation (LF) was established by the merger of two earlier open source and free standards non-profit entities (REF). The purpose of LF is to “build sustainable ecosystems around open source projects to accelerate technology development and commercial adoption.” Based in San Francisco, Jim Zemlin (President of LF) leads 150 employees with over 1000 corporate members who actively participate in numerous global conferences.

Speed to graduated project best: Because (1) Prasanth Pulavarthi has already presented ONNX to the LFAI TAC (Technical Advisory Board), (2) four member organizations of ONNX are on the Board of LFAI, then ONNX can move quickly to a graduate project in LFAI as a separate non-profit foundation, maintaining its current governance – perhaps in as little as two weeks.

Synergies with other projects best: Because (1) ONNX is already adopted by LFAI projects, Acumos, Angel, and Horovod, (2) LFAI has an ML Workflow and Trusted AI Committee interested in ONNX, then ONNX can grow additional adopters and contributors quickly in LFAI.

Key items include legal review by ONNX SC organizational legal teams on transfer of intellectual property. LFAI already templates for transfer of ONNX marks, and charter statement based on ONNX open governance process.

LF JDF is also an option but is more of a standard template.

October 10th is available for a 20-25 minute presentation of the required ONNX 2 page proposal to TAC, if ONNX is interested in moving quickly. Alex Sergeev has created a 2 pager for Horovod and open to doing the same for ONNX.

Aside from a presentation that can happen on October 10th – LF indicates it is mostly legal review of documents and signatures required by ONNX SC members, and owners of ONNX IP and assets to be transferred.

LF summary

2.2 Apache Software Foundation

History and Mission: In 1999, The Apache Software Foundation (ASF) was established (REF). ASF prides itself on being a technical meritocracy of volunteers who develop free and open source software (FOSS) and practice the Apache way, including promoting the pragmatic, popular, and commercialization-friendly Apache 2.0 license. Based in Forest Hill, Maryland, a distributed Board of Directors elected annually appoints a President and other officers that oversee the operations of the ASF and its top conferences.

Speed to incubator is good, and pathway to top level project is good: ONNX could become an incubator project within Apache in a few weeks, and within several months become a top-level project.

Apache summary

2.3 Eclipse Foundation

History and Mission: In 2001, the Eclipse Foundation (EF) was established (REF). EF provides services such as intellectual property (IP) management, ecosystem development, development process, and IT infrastructure. Based in Ottawa, Canada, Mike Milinkovich (Executive Director, EF) leads an organization with over 275 organizational members, 10 top level working groups, over 350 open source projects, including runtimes, tools, and frameworks.

Speed is at least two months.

Eclipse summary

3. Concluding Remarks

This whitepaper provides a starting point that members can use to better understand the top options and criteria. The options are for an ONNX IP community and IP move to a non-profit, vendor-neutral legal entity in accordance with industry best practices for growth of adopters and contributors as well as long-term sustainability of the community. Specifically, after reviewing the three top options, then community members are invited to ask questions and make comments on the WG Gitter. ONNX community members are also invited to join the ONNX Foundation WG to improve this document and/or suggest other options consistent with the selection criteria.

Acknowledgements

First and foremost we would like to thank the senior leaders of LF, ASF, EF who made themselves available for recorded videos, sometimes within mere hours of being asked – this is speed and openness values on steroids! We would like to thank the Steering Committee for active engagement with the Working Group. Jim Spohrer would especially like to thank Ryan Loney for his efforts setting up the WG on GitHub – and the other members of the WG for their help. Thanks to all those who are voting and active on the Gitter and WG weekly calls – thanks for letting your voice be heard.

References

Ingo H (2010) How to grow your open source project 10x and revenue 5 x. Openlife.cc.

Appendix: Additional Summary Information

A. The ONNX Community, Values, Members, and Foundation Working Group

ONNX Values: These values guide members of the community as they make decisions:

  • Open: ONNX is open source, notes are open, decision making is open, etc.
  • Welcoming and respectful
  • Transparent and accessible: Work and collaboration should be done in public.
  • Merit: Ideas and contributions are accepted according to their technical merit and alignment with project objectives, scope and design principles. Engineering investment >> corporate sponsorship
  • Speed: Contributing time and effort to ensure fast decision-making and that specifications produced are aligned to the fast iteration of machine learning technologies.

ONNX Members: The definition of an ONNX member for polling/voting purposes is very broad, and included ONNX Twitter Account Followers (1000+), attendees at ONNX Community Events (200+), members of ONNX Working Groups on various Gitters (200+). A working email address is required to vote, and those who vote may be contacted for additional information about their interest in ONNX.

Member Organizations: Member representative of each organization on the ONNX homepage will be encouraged to vote their ranking preference (alphabetically): Alibaba, AMD, ARM, AWS, Baidu, BITMAIN, CEVA, Facebook, Graphcore, Habana, HP, Huawei, IBM, Idein, Intel, Mathworks, Mediatek, Microsoft, Neural Network Libraries, NII, Nvidia, NXP, Oath, Preferred Networks, Qualcomm, SAS, Skymizer, Synopsys, Tencent, Unity.

ONNX Foundation Working Group (WG): The table is a handy list of URLs and other information about the WG which was established by invitation of the ONNX steering committee at the last community meeting in August 2019.

Topic Info/Link Comments
GitHub page https://github.com/onnx/working-groups/tree/master/foundation Overlaps with information here
Gitter Channel https://gitter.im/onnx/foundation Please join, post questions/comments
Founding Core Members Jim Spohrer, Ryan Loney (co-chairs), Alex Sergeev, David Aronchick, Wenjing Chu, Thomas Truong All invited to weekly call, Thurs 1pm PT
Straw Poll/Ranking Three Options https://forms.gle/ZSehUYLPERaUAuFR8 Vote early and often ☺
Voting Results View Google Sheet See who thinks what – changing OK

B. The ONNX Steering Committee Organization Contacts

All three top options require information…

Name Organization Role Comments
Prasanth Pulavarthi <Prasanth.Pulavarthi@microsoft.com> Microsoft Executive Contact Microsoft is steward of the ONNX GitHub repository
Microsoft Technical Contact
Microsoft Legal Contact
Microsoft Communications Contact
Microsoft Finance Contact
Joe Spisak <jspisak@fb.com> Facebook Executive Contact Facebook is steward of the ONNX Mark and Website for the community
Facebook Technical Contact
Facebook Legal Contact
Facebook Communications Contact
Facebook Finance Contact
Vin Sharma <vinarm@amazon.com> Amazon Executive Contact Amazon hosted one the first community meetings
Amazon Technical Contact
Amazon Legal Contact
Amazon Communications Contact
Amazon Finance Contact
Harry Kim <harry.kim@intel.com> Intel Executive Contact Intel hosted the second big community meeting at the Computer History Museum
Ryan Loney <ryan.loney@intel.com> Intel Technical Contact
Stefanie Neuhierl <stefanie.neuhierl@intel.com> Intel Legal Contact
Intel Communications Contact
Intel Finance Contact
Dilip Sequeira <dsequeira@nvidia.com> NVidia Executive Contact Nvidia hosted the third and most recent ONNX community meeting
NVidia Technical Contact
NVidia Legal Contact
NVidia Communications Contact
NVidia Finance Contact

C. Linux Foundation Summary

Topic Info/Link Comments
Point-of-Contacts Ibrahim Haddad, Mike Dolan, Scott Nicholas They have been “courting” ONNX and indicate most of process is already complete
Video LFAI, LF JDF
Wikipedia https://en.wikipedia.org/wiki/Linux_Foundation
Home Page https://www.linuxfoundation.org
Process https://lfai.foundation/proposal-and-hosting-process Already mostly complete
Recent Example https://github.com/lfai/proposing-projects/blob/master/proposals/adlik.adoc ZTE Adlik example

From: Michael Dolan mdolan@linuxfoundation.org
CC: Scott Nicholas snicholas@linuxfoundation.org
CC: Ibrahim Haddad ibrahim@linuxfoundation.org
Part of the challenge communicating on this topic is the entity structure is typically discussed and decided by the companies' legal counsel working with us… JDF is a "check the box" menu that enables rapid spin up of governance for a standards/specification project. LF Projects LLC is a completely customized structure…. We heard that ONNX wanted to retain much of its existing governance. What we suggested in that case was using the LF Projects, LLC series entity which allows for complete customization.

D. Apache Software Foundation Summary

Topic Info/Link Comments
Point-Of-Contacts Luciano Resende, Sam Ruby They mentor project from incubation to top level over six-month to a year.
Video ASF https://www.youtube.com/watch?v=t5HENqpEdRw
Wikipedia https://en.wikipedia.org/wiki/The_Apache_Software_Foundation
Home Page https://apache.org
Contributor Agreements https://www.apache.org/licenses/contributor-agreements.html Sam Ruby mentioned this step would likely take some time to complete
Transfer of Mark http://www.apache.org/foundation/marks/faq/#podlingxfer

Sam Ruby/Raleigh/IBM regarding getting to Apache top-level project without incubator: "Before the incubator was established (in 2002), projects were accepted directly by the board. Since the incubator was established, the only exceptions have been projects that either consisted entirely of ASF members or projects that split off an existing project (Hadoop, for example, was once part of Lucene). As an example, Subversion was a project that was well established, was already under the Apache License, and essentially already operated as an Apache project. It entered incubation and completed in approximately 3 months. The proposal that I mentioned is intended to explore an alternative. The proposal is still being evaluated. Forms can be found here: https://www.apache.org/licenses/contributor-agreements.html It is not clear to me how much work would be involved in getting such grants from all of the Contributors to an existing project. At a minimum, all current contributors would need to sign the ICLA (first link above). Overall, the process for onboarding a project at the ASF can be found here: http://incubator.apache.org/, in particular look at the Proposals dropdown. The process is that you recruit a champion (which I would be willing to do) who will guide you through the proposal stage, during which time you will attract mentors. Once the project is accepted, the mentors will guide the project through releases and eventually graduation."

E. Eclipse Foundation Summary

Topic Info/Link Comments
Point-Of-Contacts Mike Milinkovich
Video EF https://www.youtube.com/watch?v=uX74-EyGp7Q
Wikipedia https://en.wikipedia.org/wiki/Eclipse_Foundation
Home Page https://www.eclipse.org

F. Miscellaneous FAQ

Q: Are there other options that were considered and rejected? A: Yes, Scikit Learn community lead by INREA France is interested in ONNX, however, it was not deemed a top choice or speedy enough. Mozilla Foundation was also considered – it has excellent open innovation programs like “Common Voice” for building open speech datasets – however, it was not considered a top choice for ONNX. Mozilla’s focus is internet user experience and increasingly open datasets.

Other miscellaneous FAQ welcomed!

G. Position Statements (Optional)

IBM (@jimspohrer): All three top options are well-known to IBM executive, legal, communications, and finance contacts and teams – so all are very acceptable. Having ONNX IP in a non-profit legal entity with clear ownership rights over those assets (e.g., ONNX trademark, GitHub repository, website, etc.) will accelerate IBM internal adoption as well as incorporation in products and result in speedy processes with less internal reviews to make progress. ONNX in a vendor-neutral non-profit entity will also allow IBM to contribute additional enterprise adopters and contributors from among our customers and partners more easily. Based on IBM’s approach to open technologies, ONNX in a non-profit with open governance will make it a best of breed open source option from an IBM executive and legal perspective. We see the three options as good (EF), better (ASF), and best (LF). IBM played a role in the formation of all three foundations, for Apache, two possible mentors (Sam Ruby, Luciano Resende) are IBMers, and LF, IBM is a Premier Member of the overall LF, and a General Member of LF AI foundation – so IBM is very supportive of all three options. We prefer LF AI because of their flexibility, speed, and preparedness – and see Intel, Uber (Horovod), and FutureWei (Premiere LF AI members) as significant. LF AI is best positioned for Telco adoptions of ONNX, and with 5G coming training on the edge will be key (IBM is co-leading that WG). IBM also see synergies with LF Edge, ODPI, CNCF, and other Linux Foundation groups – making it a clear first choice for IBM to accelerate the growth of ONNX adoption and contributors in a vendor-neutral, non-profit.

Facebook (@jspisak): From WG Gitter: "One thing that is nice to see is the diversity of opinions that we will have in this discussion. Myself, I’ve dealt with taking a project to Apache and BDFL, David with Cloud Native and Alex with LF. I’m sure others have other experiences, but this alone should provide a nice balanced and diverse set of views as we weigh options."

Intel (@ryan-nervana): Both Apache and Linux Foundation are well known by our legal team, and would be acceptable options. Intel has had very good experiences with projects hosted by the Linux Foundation, and would prefer this option as the top choice.

Other positions statements welcomed! Would be great to have a position statement from as many of the 30 ONNX members organization on the website as possible. Diversity of views will be helpful to see and understand on this important topic to the future growth of the community.

G. Comments on Drafts of this Document

What is missing? What should be improved?

You can’t perform that action at this time.