JuliaComputing profit / non-profit tensions?

Numerical Python has quite a few commercial entities:

Anaconda (formerly Continuum Analytics)

Enthought (sponsors SciPy conferences)

Quansight

One entity that connects numerical Python and Julia is NumFocus which is a non-profit 501(c)(3):

Travis Oliphant in particular was one of the initial creators of Numpy, founder contributor to SciPy, established NumFocus, founded Anaconda, and QuanSight.

From my perspective, many of the Python groups seem like amorphous entities. Granted, I haven’t put that much effort into attending conferences so that’s not surprising.

A big difference for me at the moment is that the JuliaComputing people are quite accessible, including Viral, Jeff, and Stefan. As you can see, they’ve commented on this post. On top of a great language and the underlying technology, it is really fun to work with Julia and its community, including JuliaComputing and other commercial entities.

2 Likes

@nickeubank Thank you for trying to get your students interested in Julia. It is much appreciated!

11 Likes

Getting to the technology, I recently found Dispatcher.jl from Invenia which does something similar to Dask:
https://github.com/invenia/Dispatcher.jl

There’s also an extension of that that to integrate into the Dask scheduler that needs updating:
https://github.com/invenia/DaskDistributedDispatcher.jl

As for teaching, you may want to check out the currently running MIT course for materials or inspiration:
https://github.com/mitmath/18S191

If you cannot find a solution to what you need, ask around. People here are very willing to help and even create solutions for you.

1 Like

I know! Love the community, and thanks for these resouces. FWIW, I had been asking around for JuliaRun alternatives before this post – see here and here, plus I’ve been reading other past posts for insight.

6 Likes

Ah yes. You’ve caught us red handed with responding to the controversy. For better or for worse, we’re a bit more responsive on chat platforms like Slack or Zulip. We’re trying to figure out how to manage that and push more content to Discourse. It is probably better to post here first, but if you don’t get a reply, try posting a link to your post on Slack or Zulip.

You may also be interested in a few other services on the horizon (VSCode in the cloud)

JuliaHub (aka JuliaRunCloud)… connect to it from VSCode on your computer or in the cloud (above)
https://juliahub.com/ui/Home

Also if you’re running on low or no budget, there are several ways to run Julia online for free such as in Google Colab:

1 Like

That’s super helpful to know, thanks @mkitti!

I teach R and data science at business school but I have exactly the opposite concerns as the post owner does.

I only use free R resources in my class. To be honest,
I am constantly concerned that RStudio may go bankrupt one day because they cannot get sufficient revenues. If they go bankrupt then the RStudio IDE will receive much less development. That would be a disaster for free users like me and my students.

I would like to see Julia computing financially succeed.

5 Likes

RStudio has a pretty decent amount of revenue based on using the AGPL to shake down big companies that fear being sued.

8 Likes

One thing I guess I’m not seeing is where is the conflict specifically for you. You teach this to students, they go out and get jobs. Why do you care if someone is profiting off of the tools? Hopefully your students will too!

You could just as well teach MATLAB/SAS/SPSS, which are not open source projects, but are still heavily used in data science pipelines in many companies. Do you see this as more or less “tension”?

I don’t disagree that it is good to bring up these types of discussions to make sure the community is continually functioning properly, but in your specific case I’m just having trouble imagining why this is an issue. If I were in your shoes, I would not care one bit (and don’t).

1 Like

Like this one?

https://juliacomputing.com/products/

4 Likes

I dunno. I think that any person who founds an open source project has a moral obligation to live on a remote mountain top and write free software for the world while sustaining themselves on the pure essence of the universe.

11 Likes

And, if they don’t like it, they should remember that they should have fought those silly altruistic urges when there was still time.

3 Likes

While private business is a completely legitimate method (to ensure beyond the well-intentions of the company management is to charter the corporation as a PBC.

Public-benefit corporations (PBC) are a specific type of corporation that allow for public benefit to be a charter purpose in addition to the traditional corporate goal of maximizing profit for shareholders.

It allows for raising capital in ways that an NGO is not allowed while keeping its mission statement with a public benefit elements.

The whole commercial vs OSS paradigm is a thing of the past. OSS is a public good while certain aspects are not sustainable and can benefit from private actors. For example, having a company provide service for integrating custom systems with OSS components is not something people typically do for free for corporate entities but the adoption of the frameworks by industry actors gives back to the community. Developing commercial software in Julia that relies on OSS components gives a stake in its success and means the company can use part of their resources to ensure their success and sustainability. Many of the contributions to the differential equations ecosystem made it possible for pharmasci to use Julia and as a consequence those entities allocate resources to keep improving the open source ecosystem. Moreover, many of those private companies recruit talent from the open source contributors creating incentives for more to contribute to the open source ecosystem and making it viable for maintainers to keep improving their work.

3 Likes

This is true, but at the same time it can also be a commitment mechanism against lock-in and other aspects of incomplete contracts/holdup problems. I find this aspect is increasingly important.

1 Like

I was thinking of something that demonstrated the difference between what the service provides and what is already freely available. For example, it’s not clear how “Support for Batch or Real Time Workloads” is better than just having ClusterMangers.jl. I’m not sure whether or not that level of detail is necessary on the front page for the product, but it’s still not completely clear to me what the service offers.

Then again, I’ve been told that the people making decisions to purchase stuff like this often know very little about these sorts of details before forcing some new product on the entire organization.

Turns out when you give away a bike you don’t keep a copy for yourself. if that were the case we would never have even come up with the concept of property or of money… what would be the point of money? you could just give yourself as many copies of coins and bills as you like…

the limited resource for software development is the time and skill to develop it, not copies of the software package itself. Copyright is really a crappy legal hack that made a whole lot more sense for illuminated hand copied manuscripts than it does for Kindle books.

It’s reasonable to be annoyed by copyright restrictions preventing software sharing in a way that it’s not reasonable to be annoyed by property laws preventing you from just riding off with someone else’s bike.

At the same time, we need to compensate people for that time and skill… and we need better social systems for doing so than copyright

1 Like

Stefan is already ahead:

Does anybody know where this mountain is? The pure essence of the universe made me curious.

1 Like

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

RStudio, Inc. became RStudio, PBC earlier this year.

2 Likes

This point isn’t entirely clear cut. For example, an RStudio employee I talked to described Domino as a parasite, making money by selling RStudio’s and other’s work.
Redis faced similar problems, forcing them to change their license.

If it’s too easy for someone to come in and offer their own JuliaHub by using JuliaComputing’s work, that would be problematic. They could easily win over any bean counters making purchasing decisions by charging less: they have lower costs, because they’re not the ones paying for the work.

8 Likes