JuliaComputing profit / non-profit tensions?

I think some of the nuance that was there early in this thread may have gotten a little lost, so I’d like to try to summarize where things are in the hopes that some of the great points of nuance that have been developed through discussion don’t get lost in a sea of posts that are hard to follow.

Summary of my thoughts:

  • I have no problem with making money from Julia, and I hope very much that all of the founders of Julia and everyone at Julia Computing. They certainly deserve it for their contributions.

  • I also have no objection to businesses and for-profit entities making money off of Julia products. I think that @Nosferican has articulated the symbiotic nature of business interests and the open source community very well. And I also agree with him that some kind of OSS/Commercial dichotomy is a long dead idea.

  • I would also like to reiterate the point that I tagged as a solution to this issue, which is that JuliaHub (which it sounds like is what JuliaRun is turning into) sounds like a perfect example of the kind of service that builds on the value of Julia itself but brings value in a way straight code in an open source codebase never could, and I hope very much that Julia Computing makes a lot of money off of it!

  • My question was not about Julia Computing making money from selling services around Julia, but more narrowly about putting one specific thing – software tools for launching cloud instances – behind a paywall given such code seems like it’d be of great general use, is available in other languages, and would help make Julia popular and competitive with other languages. It sounds like that is not fundamentally what JuliaRun is, and so I wish them well with the product. With that said, it occurs to me that within that product there probably is something of a library for launching clusters, and if that’s true, then I am curious if they are interested in open sourcing that.

  • A core part of my question is whether people feel it matters that this is Julia Computing and not “Bob’s House of Code” selling a product. To me, the fact that “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” and that that includes the language’s BDFL (and thus head of OSS governance) means they have a somewhat unique position in the community. And indeed, my sense was that they also see themselves as having a special place in the community and being driven in part by the mission of trying to help develop Julia. Their phenomenal contributions certainly suggest that that is something that they aspire to.

  • My understanding - and I’m open to correction - is that this mission is also something that shapes their business model: namely, like a number of open source support companies, my sense is that they were looking to offer enterprise support in the types of services that you don’t get when you just clone a open source repository. In addition, I seem to recall discussion that in some cases they could also be sponsored to add things to the core library that would be of use to clients, or write code for more idiosyncratic applications. In other words, it seemed like the goal was to try to find a way to make money by complementing open source efforts, rather than make money in some places where there might be a conflict between open source and for-profit incentives, then roll that money over to also helping support separate open source development (although one can make an argument for that still being a greater good, as several people have nicely articulated in this thread).

  • In light of all that, I wanted to raise the question as to whether it was in keeping with everyone’s values for code for launching cloud instances to be behind a pay wall at Julia Computing.

  • I take @johnmyleswhite admonition to beware generating unnecessary FUD seriously. That’s why, upon learning that Julia run is basically this Julia hub product, which is clearly a service and not the kind of thing that you would expect to find in an open source code base, and which is not offered in any other languages, I pinned my acknowledgment that this is not as clear a conflict as I initially thought. I am still curious if there’s a component of the code for that product for launching clusters that might be open sourcable, but that’s a topic for another day.

  • I hope that I have made clear that I am fully open to any number of different positions that the community may take on this issue. In the open source community, I generally care much more about ensuring that communities reach decisions through open processes rather than ensuring my position carries the day. The dominant position in this thread seems to suggest that Julia Computing should be free to pursue whatever products it would like, and that’s fine.

  • It is also Julia Computing’s prerogative to tell me that my sense that they have this somewhat distinct mission is off base, and I shouldn’t look at them any differently than “Joe’s Code Shop.”

  • I guess in retrospect, perhaps the way I could’ve raised this issue in a way that may have been slightly more effective at generating constructive engagement was to ask explicitly about (a) how Julia Computing sees its own position in the Julia ecosystem, and (b) what principles they use when deciding what to open source and what to put behind a pay wall. I apologize for not having that more articulated question developed, but I don’t think that actually developed in my mind until the end of this discussion.

My own personal motives have come up a few times, so I would like to reiterate one points I think is important:

  • I am not just raising this issue because somebody’s asking me to pay for a tool that I want. I am fortunate enough to be at a major research university, which not only means that I have a research account that would allow me to pay for the service if I needed it, but also means that I have access to a university research cluster managed by SLURM scheduler which works wonderfully with ClusterManagers.jl (which I also acknowledge is supported by Julia Computing). But I know that most people are not so fortunate, and one of the reasons that I love open source, contribute to it, evangelize for it, and use it in my teaching materials (all of which I post on the internet) is that I think tools like Julia help access to data science more equitable to people at different institutions, in different countries, and people from different socioeconomic backgrounds. I love Julia and want to see it succeed, and so that’s why I am raising this issue.

Finally, I want to acknowledge and express my appreciation for a number of people who have engaged in this discussion in a very nuanced and constructive way, especially @Oheil, @viralbshah, @johnmyleswhite, @ericphanson, @Zach_Christensen, @Nosferican, @mkitti . This is not always felt like the best good faith discussion, but I have enjoyed and appreciated your contributions especially!

EDIT: I’m putting all the resources provided here in a new post for people to find.

25 Likes