Financing Projects of Value to the Community

A recent post caught my attention. TBH, I was disappointed that the BonitoBook was even being considered, not because I don’t like the product, but because the developers have done such an excellent job in the plotting area. Let me explain.

In my work, where I generate reports for industrial clients, the layout of the report is not as important as the speed and convenience in generating the report. Thus I will use Excel plots, Mathcad plots, MATLAB plots, and Julia plots (Makie.jl or Plots.jl) as well as plots from other much more proprietary software. Of these MATLAB stands out as having a really good combination of both programmatic and interactive ease and nice appearance. I often use what MATLAB calls datatips on my plots. These are very convenient, giving the x,y coordinates with just the click of a mouse button, or Alt Left button for multiple data tips. The figure window where one does this is very convenient for also zooming and panning and data brushing. And then the ability to use the clipboard to copy/paste the figure into a document would be really convenient. I realize that most professors on this forum use Latex, but I would be willing to bet that outside of university most people use an Office application where clipboard use is the norm. Being able to copy both raster and vector graphics simultaneously (for many Figure types) and then choose which to paste is a great convenience in MATLAB.

My hope was that one day I would see something this convenient in Julia. And of course I would like to see it be open source. So the question is how to have a viable financial model for something like this.

One solution is the JuliaHub approach of building commercial products using the open source tools and charging for them.

Another potential solution is having organizations that currently depend upon subscriptions to closed programs contribute to the development of these tools, so that they will not need to depend upon the subscriptions in the future. Then the question becomes how to present this opportunity to them in a way that resonates.

As I am writing this I am reminded of GroupGets, where a project can be purchased in advance. Perhaps a software project can be mapped out, with milestones established and people can promise to pay a certain amount when each milestone is reached. If the amount of money received meets a certain threshold, then the code will be open source. If it fails to meet that threshold then perhaps another license is used, but the people who funded the development will receive the product at a preferential rate.

I apologize in advance that this is an open ended, non-technical question that may go nowhere. The community will appreciate it if answers are reasonably grounded in reality.

12 Likes

Is a progressively increasing license cost a viable idea?

Pluto.jl progressively got bigger but remained open source.

Could BonitoBook.jl be free at first? And then then as it increases in robustness and features, the version 1.0 could be commercially licensed?

Plotly can also generate interactive plots.

I mean that is kind of the idea since I’m not planning to charge anyone (unless voluntarily to already support the project) for a licenses yet.
Maybe worth communicating this better.

Pluto.jl progressively got bigger but remained open source.

Well Makie too and I’ve been discussing this with Pluto maintainers - it works, but sure isn’t easy to finance boring maintenance.

Actually the idea to make a dual license came from talking with a couple of companies who said it would make it much easier for them to actually pay money for maintenance, since the money is there, but they just cant pay for something that’s free :person_shrugging:

8 Likes

In that case I suggest a banner: “We are an unethical company that doesn’t want to pay for software!”

Free as in freedom (not beer) doesn’t mean no cost.

You can demand any kind of banner shown (and have conditions for it hidden) and it can depend on company vs. individual (or non-profit, or government or education) or size of the company or its revenue as in (still free software/MIT license, just “modified”): Kimi-K2/LICENSE at main · MoonshotAI/Kimi-K2 · GitHub

Our only modification part is that, if the Software (or any derivative works thereof) is used for any of your commercial products or services that have more than 100 million monthly active users, or more than 20 million US dollars (or equivalent in other currencies) in monthly revenue, you shall prominently display “Kimi K2” on the user interface of such product or service.

You need to legally follow licenses, but most companies want to be moral too(?), not unethical, and you can you can just make a distinction, have it still legal to use without paying, even for all companies (keeping it free free/freedom software) and hope most companies want to not have a bad image.

This is sort of like the

Thus, there is now a new BSD license which does not contain the advertising clause. Unfortunately, this does not eliminate the legacy of the advertising clause: similar clauses are still present in the licenses of many packages which are not part of BSD.

And if you want to release a program as non-copylefted free software, please don’t use the advertising clause.

You can also help spread awareness of the issue by not using the term “BSD-style,” and not saying “the BSD license” which implies there is only one.

This license is also sometimes called the “4-clause BSD license”.

This is a lax, permissive non-copyleft free software license with a serious flaw: the “obnoxious BSD advertising clause”. The flaw is not fatal; that is, it does not render the software nonfree. But it does cause practical problems, including incompatibility with the GNU GPL.

We urge you not to use the original BSD license for software you write. If you want to use a lax, permissive non-copyleft free software license, it is much better to use the modified BSD license

This is the original BSD license, modified by removal of the advertising clause. It is a lax, permissive non-copyleft free software license, compatible with the GNU GPL.

This license is sometimes referred to as the 3-clause BSD license. …