Skip to content

Latest commit

 

History

History
45 lines (22 loc) · 10.2 KB

governance.md

File metadata and controls

45 lines (22 loc) · 10.2 KB

Julia Governance

There are a number of entities surrounding the Julia programming language. Understandably, many people are not entirely clear on what these groups are and what their relationship to each other is. This page sheds light on the various entities and the people involved in them.

\toc

Julia

The Julia project was founded by Jeff Bezanson (Github, Twitter), Alan Edelman (MIT), Viral B. Shah (Github, Twitter) and Stefan Karpinski (Github, Twitter). It consists of some code and a community of people who work on that code. The most clear cut line that can be drawn is that there is a set of people who have commit access to the JuliaLang GitHub organization: there are currently 66 committers (39 active and 27 dormant). This set of people doesn’t really define the project, however, since there are many people who are prolific contributors to the Julia ecosystem but who do not have “commit bit.” The communal nature of open source makes it difficult to precisely define where the Julia project ends and the greater community begins, which is exactly how we like it.

The Julia Project also employs a Community Manager. The role began with Alex Arslan in 2017 and it is currently filled by Logan Kilpatrick who started in early 2020.

Julia Stewards

One official group of people representing the Julia project does exist: Julia Stewards. This group exists to handle conflict resolution and reports of inappropriate or problematic behavior in the Julia community and ecosystem. The current stewards are: Milan Bouchet-Valat, Simon Byrne, Tim Holy, Katharine Hyatt, Steven Johnson, Stefan Karpinski, and Viral Shah. This group gets (rare) emails about potentially problematic situations and confidentially discusses and decides on what to do about them. The stewards group is not responsible for making any kinds of technical decisions or steering the project in any other way, it just exists to handle complaints and disputes, which fortunately are exceedingly rare.

NumFOCUS

NumFOCUS is a US 501(c)(3) nonprofit organization promoting open practices in scientific research, data science, and scientific computing by serving as a fiscal sponsor for open source projects and organizing community-driven educational programs in these areas. Through NumFOCUS, both individuals and corporations have the opportunity to donate to any of NumFOCUS’s fiscally sponsored projects including Julia, NumPy, Jupyter, Pandas, JuMP, rOpenSci, QuantEcon, and many others. This is possible because these projects have entered into a contractual and legal relationship with NumFOCUS. This means that a set of people serving as the project’s leadership body has signed an agreement stating that they, or their successors, will manage the technical direction and programs of the project within the scope of the organization’s nonprofit status. NumFOCUS is the legal and financial administrator of project funds, disbursing as requested by the project’s leadership body with ultimate oversight by the NumFOCUS board of directors.

Despite what “fiscally sponsored project” may sound like, NumFOCUS does not have a big bag of money that it gives out to projects however it wants to. Rather, it means that NumFOCUS is legally able to accept donations from individuals, companies, private foundations and government entities to be spent on the fiscally sponsored projects. There are other projects affiliated with NumFOCUS that are not fiscally sponsored, including Flux, Conda, Cython, Dask, SciPy, and scikit-learn. These projects can’t receive money through NumFOCUS because they don’t have the same legal relationship.

Julia’s signatories with NumFOCUS are Tim Holy, Steven Johnson, Viral Shah, Stefan Karpinski, and Avik Sengupta. This set of people was chosen to be trustworthy, independent (not all from any one company or organization), and representative of the open source project. Signatories provide oversight to make sure that funding is being used for legitimate purposes. Avik Sengupta is currently the Julia project representative at NumFOCUS and manages the projects finances. Other members of the Julia community are also actively involved with NumFOCUS in other capacities: Stefan Karpinski is on the advisory council and Logan Kilpatrick is a current board member.

What kind of money goes to Julia through NumFOCUS and how is it spent? When you click on the "Donate to Julia button" on the Julia website, your donation goes to NumFOCUS and is earmarked to be used for the Julia project. This money is used to pay for infrastructure and personnel costs, including website hosting, continuous integration services, and anyone who is working on Julia through NumFOCUS. By far the biggest flow of money through NumFOCUS for Julia is for the annual JuliaCon conference. Money from JuliaCon ticket sales and sponsorships go to NumFOCUS which then pays vendors for services required to make JuliaCon happen and reimburse anyone who has reimbursable conference-related expenses. Excess money (if any) from JuliaCon goes into the same pool as donations. JuliaCon finances are managed by the finance chair and approved by the JuliaCon organizing committee as representatives of the project and community. All money that goes in and out of NumFOCUS is a matter of public record since it is a nonprofit.

Related Organizations With No Governance Role

There are organizations that people sometimes mistakenly believe have some kind of official control over the Julia project. This section details two of them, but please note that neither has any official relationship to the Julia project, nor any governance capacity with respect to the project. Individuals who have some control over the project and happen to belong to these organizations, have that control as individuals and not as members of those organizations and takes the separation of those roles quite seriously.

The Julia Lab

A lot of the early work on the development of core Julia was done at MIT in what is known as The Julia Lab under the direction of professor Alan Edelman. All of the co-creators of Julia have been part of the lab at some point. In those early days, it wasn't called the Julia Lab yet, it was just an office where some people worked on high performance computing, numerical linear algebra, random matrix theory, and this new programming language called Julia. Although not formally part of the Julia Lab, Jeremy Kepner of Lincoln Laboratory was an early believer in and funder of the lab’s work on Julia and continues to support this work. Since those early days, things have gotten a lot more organized under the leadership (in chronological order) of Jiahao Chen, Andreas Noack, Valentin Churavy, and Chris Rackauckas. The Julia Lab remains a steady source of major innovations and contributions to Julia.

There are several other groups at MIT that have made major contributions to Julia over the years besides the Julia Lab. Steven Johnson, also a professor at MIT, heads up his own group but in his spare time has become one of the most prolific contributors to Julia (currently #10 by commits). The JuMP and Cassette projects are primarily developed by current and former members of professor Juan Pablo Vielma’s optimization research group at MIT Operations Research Center. There are so many research groups at MIT using Julia these days, making major contributions to its ecosystem and to science, that it has become commonplace for Alan to discover that some neighbor of his at CSAIL is using Julia completely unbeknownst to him. So definitely don’t consider this list exhaustive. And of course, there’s incredible work being done on Julia by people at many other universities all around the world.

Julia Computing

In 2015, the four co-creators of Julia along with Keno Fischer (Github, Twitter) and Deepak Vinchhi founded Julia Computing, a United States C corporation. Julia Computing provides products, support and services around Julia, JuliaHub and JuliaAcademy. The company employs many of the top contributors to Julia itself (half of the top ten contributors by commits) and to major Julia packages, especially for data science and machine learning. Even though there’s no formal connection between the company and the open source project, Julia Computing is deeply committed to Julia’s success and is proud to sponsor JuliaCon each year as well as drive open source Julia development.

Questions

If you have questions about Julia's governance structure, please reach out via email to [email protected].