Hacker News new | past | comments | ask | show | jobs | submit login
Looking for Work After 25 Years of Octave (lists.gnu.org)
1332 points by dhuramas on Feb 9, 2017 | hide | past | favorite | 474 comments



This post today is what is wrong with open source software. If someone knows jwe, then they should tell him that lots of corporates and startups WANT to support stuff like this.

But you cannot give a paypal link and expect donations. As a company, I cant do that. I need an invoice. Hell, if you can get a business account, I daresay you will get subscriptions.

I like to call this "gratitude-ware".

Check out Sidekiq Pro and their experience making 80k USD per month. https://news.ycombinator.com/item?id=12925449

At first I built Sidekiq as an LGPL project and sold commercial licenses for $50. Revenue was laughably small, but the response I got was encouraging: people told me they were saving $thousands/mo over previous solutions and wanted to buy the license just to give me something as thanks.

Octave currently offers support packages for which you have to write in to the maintainer and have an email discussion. Compare that with Sidekiq : http://sidekiq.org/products/pro

Its one of the best designed gratitude-ware page...even works amazingly well on a mobile phone.

We personally also buy pfsense licenses https://www.pfsense.org/our-services/gold-membership.html

TL;Dr Donations wont work. Engineers cant give an excuse to corporate accounting. Make a pro subscription with ANY "pro level" feature. I can get my accounting to sign off. And no "contact us to find out about support contract".


I agree.

Two things though:

* Developers, in general, are not business people. This may be different in Silicon Valley, but in a lot of the world, programmers have spent their life concentrating on one thing, learning to program. That doesn't mean they don't just "not know how" to start a business and find clients. It means they don't even know how to do the basic, first steps to registering one, knowing what to charge, etc. Let alone the complications of supporting an open source model on top of the usual business things like tax. It is just easier to throw up a paypal link and be done with it. Yes, something should be done about this, but there you go.

* When people pay for things, suddenly they expect it to .. work. As in, be stable. And be supported. And be kept up to date. All of a sudden you go from being able to work on your favorite project to supporting clients and responding to their needs. Many programmers don't want this. Admittedly, if you're floating such a project as your main income, perhaps you should be considering these kinds of things, but on the other hand one thing that keeps an FOSS project going, and gives it advantages, is not having to worry about exactly these things. It also might have a huge disincentivising effect towards contributions; why would contributor contribute if they don't get a cut? There are specific challenges in business-oriented FOSS funding models that would need to be addressed.


These two points are very important. I've wanted to make Octave a business, but I just never knew how to start. I tried to find people who would help us get started, but the only ones I could find wanted to either compromise Octave's freedom (e.g. sell non-free extensions) or wanted some kind of way of turning Octave into a giant billion-dollar business very quickly.

I couldn't find anyone who could help us do something like run a small business or just help us figure out how to sell those useless stooge licenses I keep hearing companies want to buy instead of sending donations.


(sidekiq dude here)

I had no idea what I was doing. I found a local lawyer who incorporated me for $1000. He wrote the commercial license for my software for another $750. I had a friend who was a CPA and taught me how to keep books. I was terrified but literally every business is started this way.

Need help? Walk outside your house and ask the five nearest businesses who they use for legal and accounting. Talk to a professional.

I'm also happy to chat about starting an OSS business during my weekly happy hour, all welcome:

http://sidekiq.org/support


I'd also just like to call positive attention to the bravery and openness Mike has shown by publishing his revenue/business numbers (which maybe some would hold as precious private information). He's been very open in hopes of inspiring and giving back. It's not just the code that he's open sourced but a path and pattern. This is pretty special in the best use of the word.


This is exactly why I disclosed my revenue: people won't know there's a successful path forward unless it's disclosed. I want more OSS developers to follow my lead and build a bright future for themselves based on their awesome software.


I'm an Octave fan. I generally prefer it to Matlab, and do my daily scientific computing in Octave. To me, the biggest threat to Octave is SciPy/NumPy. The students I work with all prefer those libraries. I haven't switched largely because of my own custom libraries and because the the Octave syntax is more appropriate for numerical work.

One possibility: Find a company that buys a ton of Matlab licences in order to get access to a specific library. Implement that library well, GPLed, for a price that is below their annual license cost.

It's a tiny niche (big company, small library), but if it can be found, it is one the Octave team could do well. Everyone, except Mathworks, would win.

Proprietary libraries do offer sponsoring companies greater competitive advantage, but the first mover to a cost savings is already a winner.

Getting a long list of big Matlab customers is a place to start. Sometimes they boast about the biggest fish in advertisements.

If running out of money is a critical problem for Octave development, make finding GPL revenue the core goal. Octave is now complete and capable enough that it can take care of itself for a year with bugfixes alone.


Matlab is still huge. As long as there's a need to run Matlab scripts, there's a need for Octave. The non-Matlab free alternatives aren't really competition for Octave. We're not short on users or developers. We're short on money.

The first possibility has been attempted. In effect, that's partly why the GUI happened: a company really wanted it and paid for its development. jwe has been able to coast on this kind of gig for a while, about 8 years now. It's just that it's never been a very financially stable thing.

The rest of your suggestion seems to be about running a business. That's the thing we've just never really known how to do. There are a lot of business details that we've never really figured out because we'd rather be writing code.


as mperham said (i use sidekiq btw), once you know how you want to charge people (license, support, book, conference, whatever) the mechanics of going about it on the business side are pretty straightforward. you need to set up a legal entity (corporation or LLC), get a bank account, and set up a (e-commerce) store front somewhere.

the nice thing is that octave is established enough that you won't need to do a lot of marketing to develop awareness of the product, which is usually the hard part. you also have some validation for your product (a large and successful competitor and a bunch of support contracts for octave). it sounds like, instead, the hard part for you is figuring out what you want to sell and getting going. people seem willing to help, so take them up on the offer! i'm also happy to lend an ear or a hand if need be. good luck!


Well said.

Every project has to determine their own path to sustainability. Knowing only what I've read here, I'd sell support in seat packs, e.g. $1000/yr for every 250 users. A good sized university might have 1000 engineering students and $4000/yr for a critical tool used by all their classes seems reasonable.

The great thing is that you define support however you want. 24/7 phone? Email during business hours only? Just make it clear to the customer so expectations are properly set.

A business might only have 10 people that use a tool like Octave but $1000/yr isn't a big deal if that tool is necessary for their daily work.


Businesses simply need to get the proper invoices. By all means do enough work to make that visible and easily obtainable for them if you want to get any money.

Still, the money from what you call "useless" licenses is minimal compared to the one that the businesses are ready to pay if they don't have any other alternative but to pay. Business are the systems that are designed to make profit. If they don't have to pay, they typically won't.


At least in Indiana, starting an LLC takes about 15 minutes online, filling out a form. Then you go to the IRS web site and get a tax id for the new LLC. Then a business account at any bank, under the LLC's tax id. This can all be done in 1 day. I'm not intending to be critical, but rather pointing out that you don't need to pay a lawyer or accountant to incorporate.

The key thing after that is to separate your income and expenses into personal and company. Never mix funds. Get a separate company credit card. You'll probably have to start out using the LLC's bank debit card - that's fine.


> why would contributor contribute if they don't get a cut?

I can only speak for me: Because I did not pay anything for the foundation I built on. If someone comes and asks for a cut (and I had this more than once), I give it to them: A fair share for their 3-line patch to a million LOC codebase, minus my fee for reviewing, for tutoring and for project management. Unfortunately, so far, nobody paid after I sent my invoice :(


I think your second point is the real open question that should be explored deeper. Your first point however is harmful and patronizing. If you can find coding answers on stackoverflow you can certainly google for information on opening an LLC and a business checking account. There is no need to bring in business partners, you can contract an accountant and even an attorney without compromising anything and just paying for advice.

Just doing one thing all your life is not an excuse for not taking care of yourself. Developers know how to brush their teeth and feed themselves, and they know how to navigate really complex abstractions, they can certainly learn the basics of incorporation and contracts.


Man, I'm sorry but I have to disagree. I may understand how to handle template metaprogramming in C++, but personally I find the complexities of business and society to be complete and total roadblocks for setting up my own business. Moreover I have no idea how to find partners who could take care of that part for me. It may seem trivial to you, but that just shows how little you understand certain programmer's (and people's) mindsets who are not knowledgeable in this area.

Using your analogy: to some (and I include myself), telling them "just start a business", is like telling your grandmother to post a question on stackoverflow when she can't figure out which little picture to click to open the word processor.

You have to understand that some things that from your point of view are easy, are hard for other people. Starting a business is NOT "brushing your teeth." There's basic "taking care of yourself," and then there's how to create a self-sufficient semi-profitable business to work on projects you enjoy. I don't see how you can make this false equivalence.


I would advise your grandma to go to the genius bar at an apple store, just like I might advise you to go to legalzoom or some other easily approachable service for business and accounting.

The point isn't to start the most successful company ever its to just be able to function and do what you want to do (programming). By your analogy your grandma is willing to navigate a confusing and dissorienting world to get what she wants (probably facetime with her family) but you are just going to sit around waiting for someone else to hand you what you want without any effort on your part to learn something new?

You dont need partners, you just need a business checking account and an LLC so you can invoice companies. I recommend waveapps for creating and managing invoices btw.

Sorry if my tone is a little tough but I read so many defeatist comments in this thread and it depresses me that so many smart individuals willing to do so much good for the world arent willing to invest some of their talents (like relentless google searching and asking questions on forums) in taking care of themselves.


My heart breaks each time I discover a free tool of recognition is developed by some altruistic talent who lives at a near poverty level while their work generates millions in added value.

I suppose the simplest way would be to offer dual licensing. GPL for non-profit projects, proprietary for enterprises. The problem is, if the source code you are working on depends on third party GPL software it's very hard to do that.

I think this is what should be fixed. There should be some way to have a chain of dual licensing, so that if someone uses a dual-licensed library, they can forward revenues simply to the original license owner from their proprietary license sales.

Source remains open, and developers can eat (and pay for other amenities civilization has to offer).

Blockchains?


Strong disagree.

There should be funding bodies for projects like this who can fund projects and also provide a semblance of orchestration. The Linux Foundation (with the Core Infrastructure Initiative) and the Cloud Native Compute Foundation are already working in the right direction, imo.

There are other organizations that work through contracting work to develop free and open source software. Red Hat and Canonical are obvious ones. But there's also smaller outfits like Continuum Analytics, Igalia, The SQlite Consortium.

Further, there are loads of technology incubators and VCs who would do well to fund projects like Octave to make sure their Data Science startups can rely on these tools.

> Blockchains?

I'm scared to ask what you mean by this.


"There should be funding bodies for projects like this who can fund projects and also provide a semblance of orchestration. "

A much better way than 'government funding' would be for users to just pay for it.

It's called 'capitalism' it works very well.

Oftentimes, it's difficult for the government and centralized bodies to know 'what to fund' and what not to - it's a hard thing, it can get political. Money goes entirely to the wrong places, even with good intentions.

It's not always possible to 'sell something' but often that works well because the amount of money allocated to the project is commensurate with it's value. Roughly.

So - 'bad projects' that are either crap, or nobody really wants - don't get funded.

And the ones that are awesome - and everybody wants to use - get support and expand.

Obviously it's not always ideal, but it's rational.

Maybe - instead of someone offering this guy a job, they could teach him how to charge a nominal amount for the software, in a manner that still respects it's 'open sourcedness'. Like a $5/month price for access to a super set of documentation, that everyone using Octave would love and have no problem paying if the used Octave.


Have you been on the internet for a while? You know that anything someone can get without paying for it, most people will go for it. Pirating video games, torrenting movies, music, ad blockers, etc.

And honestly, this idea of perfect meritocracy, the idea that if you don't get funded, then your project was crap, has been disproven a long time ago. There was a kickstarter that raised insane amounts of money for someone to make potato salad. Not as a product, but making a bowl of potato salad for themselves.


I think Netflix and Steam have proven that convenience can be better than free for a lot of people (not everyone, some don't have the disposable income, and some would rather deal with inconveniences in order to get it free).

I pay Netflix a nominal fee each month and whenever I feel like it I can choose to watch between hundreds of shows (currently working through Penny Dreadful), without having to hunt down a torrent for it. Especially a torrent of good enough quality.

Same with Steam. Sure, I could try to find a game to download via torrent, but I know I can find it on Steam, often at a steep discount (or put it on my wishlist and wait until the inevitable one arrives and they notify me of it).

Additionally, I know it won't have any malware or viruses hidden in it, and will be the most up to date version (seriously, try finding torrents that are up to date for most things, it's almost impossible).


He has a valuable, entrenched product that is apparently used by a lot of people and provides value for them.

If those people won't pay a small sum to use this - or can find some easy substitute, then that could be an indication that this open-source project simply isn't that valuable.

If there is no easy substitute, and he is creating consistent value, he should be able to get some kind of revenue for something, possibly enough to pay himself and a few others to make it better.

It's not always easy, but it's not remotely irrational for him to try a few things. There's no reason for him to 'work for free' to help other people in their endeavours. They can pay him, and everyone still ends up a winner. It's called 'comparative value' - it's how most of the economy works. It's good. Apparently, he wants to 'get a job somewhere' writing code. How are his future employers going to pay him? By asking people to pay for the software that he writes. Or something along those lines.

In fact - given that he does have a 'high degree of expertise' in this open-source he made, that apparently people are using - it would make good economic sense overall if he (and possibly some others) were working on that, as opposed to him 'getting a job' elsewhere. It's a matter of plugging into the revenue stream. Again - not trivial, but something that could surely be tried.


Your post once again goes to the extremely flawed and inaccurate "If people aren't going to pay, then your thing is not good" thought, which has been proven false time and time again.


I'm going to assume that you have no background in business or commerce, which is understandable, most people on HN don't.

If people are not willing to pay for something, then it's a very strong indication that it has no economic value.

Almost by definition.

When people pay $4.00 for a Cappuccino, and are not willing to pay $1 for 'an app' - then yes - 'the app' is worth less (to them) than a cup of coffee.

Sometimes there can transactional friction, IP issues, regulatory issues which distort the market etc., but generally speaking 'price' is a very good proxy for value.

If nobody is willing to pay money for this guys product, then it is worthless, and he should probably stop wasting his time by volunteering his time to make something that nobody derives any value out of.

Those people using it would in that case obviously have something else they can use that is 'just as good', or, they just don't need it at all.

After all - if they will pay $1 for a Bic pen, and not this software, well, that doesn't bode well for how useful this software is for them.

But mostly likely, would rather seem that this software is quite valuable to many researchers. Which is good, because they would likely indeed pay for it, just as they would a pen, a book, their computer, their lab-coat, their eyeglasses, their calculator or their lunch.


It doesn't have to be "government" funding. Sometimes funding via traditional capitalistic sources (starting a company) just isn't the right model to fund something worthwhile. Think about low-level libraries... Also, the overhead of starting a company (or project-specific foundation) can be more inefficient than just running as a one-person shop. Maybe the author is really good at software, but bad at marketing.

Governments and other organizations rarely know 'what to fund'. But there is a good model that is already working in other fields - the grant process.

Why couldn't there be an umbrella organization (not gov't) that accepts donations on behalf of the community, and then has funds available to support open-source projects? There could be grants written, peer review, etc...


"Why couldn't there be an umbrella organization (not gov't) that accepts donations on behalf of the community"

Why would you do that?

Why not just have people pay for it?

No overhead needed.

"But there is a good model that is already working in other fields - the grant process"

'Grants' are speculative redistributions of capital into areas that some decision making body deems worthy - but which may have no bearing at all on what companies and people actually want to use - ergo - not usually very efficient.

We have no choice in some cases (i.e. pure research) but for this stuff we do.

This is just software, it's not rocket science, there's likely a way to just have people pay for it without too much overhead.

A researcher can buy his breakfast, his home, his equipment, his computer, he can buy software as well.


>No overhead needed.

Sales, marketing, payment systems, and invoicing are plenty of overhead.

>This is just software, it's not rocket science, there's likely a way to just have people pay for it without too much overhead.

Sure. People are doing it. Red Hat, Canonical, Continuum, Igalia, and Mozilla are all organizations that pay for developers to work on open source. I would guess OP could look at NumFOCUS or get a job at Continuum Analytics if they want to help move Matlab developers into the open source world.


There's no need for a sales and marketing team for a very well established and entrenched product.

He could make something very easily himself, 1-click to $X a month for some bit of software or service.

In fact, if he did it properly, he could be wealthy, or chose to hire a bunch of people to make his software even better.

Mozilla is a great org, but I'm not sure if they are the best example as I believe they depend on the benevolence (or strategic foresight) of entities like Google etc.


"There's no need for a sales and marketing team for a very well established and entrenched product."

So should I go tell Pepsi and Coke that they're wasting their money?

Plus, while Octave is an established project, there are many projects being started each day. No project comes into being fully established.

"He could make something very easily himself, 1-click to $X a month for some bit of software or service."

Do that, instead of working on his project. Plus, the source is already out there. It's not going away.


"Pepsi and Coke" are multibillion dollar commodity consumer brands - and have absolutely nothing to do with this.

"No project comes into being fully established"

Octave is well established, so he doesn't have that problem.

For those that are 'new' - it's extremely difficult for governments to decide how to allocate funding. There are 1000's of 'open source' ideas. It's very hard to tell which one's would work, and have merit. It seems this guy was able to make something on his own. Great.

Now he can generate some revenue and expand the project - OR - work full time somewhere else, and plug away at this in his spare time.

"Do that, instead of working on his project."

He's not going to be 'working on his project'. He's going to be 'working full time somewhere else' because his project has no income.

The time and energy he spends on some kind of 'revenue' is an 'investment' not a cost. Once it's up and running, there should hopefully be net surpluses. If it goes well, he can even hire a small team to do 'sales and marketing', and possibly hire some developers to make his project considerably better, so that it's even more useful to others, and possibly even more people want to use it.

There's no reason that he couldn't try to find a way to generate income from his project, it's creating a lot of value for others.

Paying money to each other as a fair exchange of value is how most of the world works, and it works well.


""Pepsi and Coke" are multibillion dollar commodity consumer brands - and have absolutely nothing to do with this."

Really? They're "established and entrenched products." I think they're a pretty good analogy here. Even if you are established and entrenched, you still have to advertise.

"Paying money to each other as a fair exchange of value is how most of the world works, and it works well."

Billions of people in poverty, and rising income inequality would say otherwise.


"Really? They're "established and entrenched products." I think they're a pretty good analogy here.

They are completely irrelevant to this discussion.

"Even if you are established and entrenched, you still have to advertise."

He has a widely adopted product without having advertised before. If he didn't advertise before, why would he have to now?

"Paying money to each other as a fair exchange of value is how most of the world works, and it works well." Billions of people in poverty, and rising income inequality would say otherwise."

Total rubbish. In the last 40 years, the number of people in the world living in abject poverty has been more than cut in half.

Once China ended their Communist insanity, and embraced free markets in the 1980's, they've lifted 100's of millions out of poverty and they are flourishing.

I'll gather you've never worked in a business role?


i feel that adding middleman organizations sap the margins, and also gives those middleman organizations that do the funding some measure of power that i feel is also undeserved.

I think the dual licensing method would extract the most value and give the most of said value back to the developers.


> i feel that adding middleman organizations sap the margins

That may be, but the point is to keep coders coding. The overhead cost of delegating fund raising to another person who isn't committing code is worth it.

>, and also gives those middleman organizations that do the funding some measure of power that i feel is also undeserved.

I think that it's often very deserved if the organization is well managed. If programmers can keep their hands on keyboards instead of rattling a tin cup then I think it's a better solution than the dual license.


The PyQt experience is that dual-licensing restricts adoption.

On the other hand, it ensures the developer makes enough to keep working on it quite steadily.


The main fault I've heard with the PyQT licence is that the project has to pay a for a commercial licence from day 0 - companies would like to be able to prototype with the gpl version and start paying when they are close to release.


From their FAQ:

Can I develop my proprietary application using the GPL version of PyQt?

Yes, so long as you have purchased the commercial version of PyQt before you distribute your proprietary application for the first time. (Note that this is different to the terms of the Qt commercial license.)


>> Blockchains? >I'm scared to ask what you mean by this.

To copy from another reply: "I meant it would be convenient if there was some platform to maintain the licence contract chain so that a dual licenced project could use a third party dual licensed library, and the license fees would be forwarded to all license owning parties in a transparent manner."

I'm not claiming it would be a good idea. Just a thought.


Lightweight drones powered by potatoes


I apologize if I'm missing something here, but I don't see how this comment relates to the discussion. This account has also posted other unsubstantive comments, which is against the guidelines. We ban accounts that continue like this, so please comment civilly and substantively or not at all.

https://news.ycombinator.com/newswelcome.html


> My heart breaks each time I discover a free tool of recognition is developed by some altruistic talent who lives at a near poverty level while their work generates millions in added value.

Maybe there could be a startup that helps people monetise their free software output?


+100

this is a YC-fundable startup. Here are the projects I can think of:

1. Celery - jeez. It runs half the world's high availability python software, yet has severe funding crunch.

2. Octave - obviously

3. Jupyter+Pandas - http://jupyter.org/

4. Vue.js - http://vuejs.org/support-vuejs/


Here's how to do it: combine dev-bootcamps with FSF.

People already pay big bucks to learn how to code, use that to fund the senior devs, the junior devs gain the experience they need to change their career trajectory.

This guy should not have been the director and doing the majority of the legwork for 25 years! He needs to be put in a position to get an awesome job at either classic big tech corporate, then some high prestige research unit. And there should be an understudy in the queue set to take over the work, and eventually earn his reward in the afterlife.


>The OpenSSL project management team consists of four people, and the entire development group consists of 11 members, out of which 10 are volunteers; there is only one full-time employee, Stephen Henson, the lead developer

I mean, it's only OpenSSL which was for a long time the foundation of much of the online economy.

Or the various BSD's.


Humble Bundle does this for indie games and other digital goods. I'm guessing they've thought about doing something similar for software like you mention but decided not to for some reason. It would be interesting to know why.

Perhaps the model needs support / services included.

Edit: or perhaps humble bundle is just more oriented to consumer goods.


If it's fundable, then what would it actually do?

Presumably we're past the point where anything with a .com in the name gets showered in VC money.


5. PyPy


6. Django


THIS!!!

In open-source there is a huge difference between value generated and value collected. The people behind open-source projects are often clueless (sorry, but it's true) how to extract value from their work while keeping community happy. How about a service which helps authors monetize open-source software for some percentage?


I honestly don't think this will be very easy to achieve on a human level. There are plenty of platforms that allow devs to meet sales partners but most people would rather just go at it alone or don't trust others or don't play well with others etc etc. Even the author of this piece, who testifies to poverty, chooses to ask for global donations rather than seek out a business partner


I think it would be something like "sign up with us and we handle the sales, support, billing, and invoicing".

Lots of open source projects don't need to bring on a business partner, but they might benefit from something like this. Just like not everyone on Kickstarter would go out and raise money by themselves.


The dev would presumably pay through revenue share, because we already established s/he is poor, making a jv where the marketing provider will ask for many adjustments from the dev because they need results fast. It's not a clear cut provider/client relationship and I'm not sure how many devs would choose to pursue this


A sales partner is different to a company that helps monetise.

And just because he is asking for donations doesn't mean he's against monetising.


Depends how you pay the company as I wrote above. If you're just a poor single man op you share revenue and that company becomes your partner


A webpage page with a list of projects that take funding, their licenses and how successful the funding is would be a great start.


Most people (think: GNU wizards) who do projects like this don't want to monetize; not for capability reasons, but for philosophical and social reasons. They think monetization is against some principal of free software, or their morals, or that people will stop using their software if they do, or, simply: they're lazy and just want to code, without worrying about menial things like income.

And then, when they can't afford to work on their project anymore, they want our pity. They don't have mine.


Is there a repeatable way to do that?


Ok, I am calling for a ban on the "maybe there could be a startup that solves the problem?" style comments without at least trying to flesh out how they would actually do that.


Well that's told me! I'll have a think about this and see what I can come up with.


There already is one, it's called Supported Source: https://supportedsource.org/

More projects just need to use it.


I don't know if this should be done by a for profit startup or should be done by foundations like the FSF.


This shouldn't be for-profit. It should be a non-profit granting foundation where projects could apply for grants based on merit and need. Let the foundation handle the paperwork and accept donations on behalf of everyone. Have a board of directors made up of well respected open-source names, and you'd be well on your way.


Grant applications, at least in academia, I've heard take lots of time / etc away from actual work - Although if this became the norm maybe it would lower the hurdle - Alternatively, an nomination system could be used, or something based on stars / forks / etc of a repository?


They do take time, but they are also helpful for planning purposes (I will do X and Y if given Z amount of money). There would need to be some sort of application, but it doesn't need to be as elaborate as (say) an NSF proposal. I would imagine community engagement or recommendations would also be a valid criterion to elevate a proposal's score.


I mean, that's a great idea, but the question is whether you can monetize what's ultimately a communal, even communistic, mode of operation.


in case of GPL, you merely sell support licenses.

Gratitude-ware is not constrained by what you are selling.. only by 1) what can pass through corporate accounting 2) how convenient it is.

Though it would be nice if the majority of people who intend to make money from opensource use Apache or MIT, however it is perfectly viable to make money from GPL.

This is the crux of the problem - creators generally think "can I sell X with Y license?" and scared and give up. Just look at Pfsense - it is making money using a single click support license contract.

Hell, people will pay for documentation. Make it corporate friendly and for please please generate invoices.


For me (working at a large(r) corporation) this hits then nail on the head!

>> Gratitude-ware is not constrained by what you are selling.. only by 1) what can pass through corporate accounting 2) how convenient it is.

I've bought support contracts and promptly shredded the support contact information effectively to just make a donation for software we use extensively but is free.

Make it easy for us to pay you. Finance departments will not ask if the license or support contract covers all aspects etc so it's easy to buy those (PO number please!). But the last time I tried to do a straight up donation, I spend months before giving up.


> I've bought support contracts and promptly shredded the support contact information effectively to just make a donation for software we use extensively but is free.

I understand the intention, but you should have "used" support.

You don't need to be picky and call it for every minor thing, but calling attention to the author about a problem or issue that can be improved is valuable


> In case of GPL, you merely sell support licenses.

This really isn't an option for a lot of things, and gives you some really perverse incentives to make things complex enough that they need support. Who's going to buy support licenses for /bin/ls, or most of coreutils, or most of libc?

You'll get people buying support licenses for MySQL and other difficult to configure & operate codebases, but not for the vast majority of code they use on their systems.

I work for a big company that runs a shit-ton of open source, we sponsor the two/three biggest projects we use, but by volume it's 0.1% of the total number of open source projects we use, at best.

This is a general problem for open source, everyone's using a huge long tail of infrastructure code that needs to be maintained, but any one company has no strong reason to support it.


Actually there is another avenue for Gpl software, although it's one fsf may not approve of. You sell copyright exceptions and effectively let a company buy a non-gpl cut of your code.

There are details, especially with large projects that have many contributors, but it is done.


I have watched how people use crypto-currencies to donate for a long time. I also tried it for a own privacy-project which has over 10.000 users / day.

Since you can see the donation-amount in the blockchain, I'm free to say that "blockchains" are not the solution to this problem. People do not donate, no matter if via paypal or bitcoin.


There's so much magical tech bullshit thinking embedded in "if people aren't donating via PayPal, switching to Bitcoin is going to make them donate even though Bitcoin is a lot fucking harder to use than PayPal".


It's not a donation but a licence fee. For enterprises this is effectively compulsory, not opt in. I meant it would be convenient if there was some platform to maintain the licence contract chain so that a dual licenced project could use a third party dual licensed library, and the license fees would be forwarded to all license owning parties in a transparent manner.

Just an idea, not sure if it would work non-parhologically in the end (i.e. some mega troll buying the licensing rights for a set of critical open source libraries, for example ).


  "10.000"
What number is this? Is it ten? Ten thousand? I don't think decimal (thousand) separators are necessary when you can write the number without, use scientific notation or the number in words. But there is an English-speaking standard (comma) and an international standard (thin space). Considering that there are at least five better options I think this usage is perverse.


Some countries use dots instead of commas for thousand separators.


And I was arguing that it is a bad idea to do that in an international forum.


Could you not understand, given the context?


Actually, I agree with him/her. Using decimal points where commas belong, and vice versa, is an insanely stupid idea. People (and countries) who promulgate such ideas should not be encouraged. It's just begging for a Mars Climate Orbiter-type disaster.

I reeeeallly don't like it when I have to think about whether my bench multimeter is reading 115 volts or 115 millivolts.


This is a localization (localisation?) issue: different locales have different conventions. It is important to decide on a standard on, say, a project. In the case of an international forum like HN, it makes sense to ask for clarification when necessary. Even if a convention were added to the FAQ, there will always be those who aren't aware of the convention. Cut each other some slack, at least until the HN community decides to launch a satellite.


The thing is, though, the period was in use as a decimal point for hundreds of years, since the time of Napier and Kepler. And then someone in Europe decided to start using commas because, hey, why not, it's cool and fun to be different for no reason.

That kind of behavior needs to be called out.


> Considering that there are at least five better options I think this usage is perverse.

Wow

https://en.wikipedia.org/wiki/Decimal_mark#Examples_of_use


It's ten, followed by three decimal places of zeros, because that's obviously what makes sense in the context, right? /s


That's a really odd thing to get wound up about.


You kind of have this with the other licenses, like the MIT one.

However the sad reality is that outside a few unicorns, working in open source means being sponsored by a large corporation or via support contracts, otherwise better give up.

Both don't suit that well to desktop software for example.


> GPL for non-profit projects, proprietary for enterprises.

This is against the GNU GPL license terms. One can't conditionally license some code under GPL. Ie, a software released under GPL can't be restricted for some purpose (here, 'for non-profit').

The "no string should be attached" is for good. Say for example, a project says "For people to help learn writing code, I'm licensing my project under MIT License," it would be wrong to not release the source code (and only the binary) even if the code is in MIT license. Because that is the purpose why the developer choose MIT for his/her project.

IANAL, but some corporate may be able to turn such carefully crafted words into money with their pricy lawyers. Most of the people are unaware of this. And for this reason, GPL can't be done the same way.


> One can't conditionally license some code under GPL.

You can release code under however many incompatible licenses as you'd like, as long as you own all of the code in question.


I think they were referring to the "GPL for non-profit" part of the comment. You either don' release it as GPL at all or you release it as GPL for everyone, which means that for-profit companies can use the software free of charge (as long as they obey the terms of the license).


Yeah, you are correct that you can't add a non-commercial clause to the GPL and have it remain the GPL (or compatible with the GPL in either direction).

You could choose to only grant GPL licenses directly to non-profits. They would be free to pass along the same rights to commercial entities, if they chose. It's possible that in a practical sense this would present enough of a hurdle for larger companies to prefer to pay (but plenty possible that it would not).

It is also possible to grant other licenses for situations where the GPL prevents some particular for-profit activity - that kind of approach is presently making some people some money, although the incentives can be weird.


If you own the software, you can grant specific people and institutions a GPL license for your software, and grant other people and institutions a commercial license (and refuse to grant them a GPL license for your software).

However, everyone who has received your software under the GPL can sublicense it to the people who you denied the GPL to. You can't forbid it, but they don't have to, and you can nicely ask them to never sublicense it.


You're kind of correct in a pedantic nitpicky way. If you release code under the GPL you can't prevent anyone, such as an Enterprise, from using it under that license. But what you can do is also offer it under a commercial license, that commercial customers might be more comfortable with, and let the user choose which license they want to use it under. This is very common and it certainly seemed clear to me that this is what the poster meant.


Well, that enterprise has to receive the software under the GPL license first, and you can absolutely refuse to grant them that, in which case they have to find someone else who has received it under the GPL, and ask that party to sublicense it to the enterprise under the GPL.


Two libraries used by Octave, FFTW and SuiteSparse, both do exactly this - GPL for open source usage, or commercial paid licenses for inclusion in proprietary software (like Matlab).


Selling software via a proprietary license to an enterprise can be bad for open source because it means that the enterprise doesn't need to obey the terms of the GPL. They are free to modify and adapt the code without contributing the changes back to the community, which kind of ruuing the point of the GPL in the first place.

This method also only works if the copyright if fully owned by a single person or entity, with all code contributors signing a contributor licensing agreement to give away their copyrights to a single entity. This is problematic because now there is the possibility that this single entity gets bought out by an evil corporation (say, Oracle), which can choose to continue developing the project without releasing the modifications under an open source license.


>They are free to modify and adapt the code without contributing the changes back to the community, which kind of ruuing the point of the GPL in the first place.

As they are with the GPL so long as they don't distribute the modified code outside of the organization.


If they receive a copy of the software under a non-GPL license they might also be allowed to redistribute modified versions without releasing the source code. (This is usually the whole point of having the proprietary dual-licensing scheme).


Selling commercial license also gives you cold hard cash, with which you can buy ramen so that you can continue developing said software.

Contributing to the community is all good, but you know, eating is slightly higher on the priority list.


You're throwing out technical solutions – one law-technical, one crypto-technical – for what's essentially a social problem.

You don't need the draconian measure of dividing the OSS community, turning the idea of Free-as-Speech software into what's essentially shareware with source code access.

Large corporations have (obviously) vast financial resources. And – more importantly – they are (usually) staffed by humans. Have you ever felt the wish to be generous to someone whose software you used extensively? That feeling doesn't go away when you step into an office that requires a name tag to pass security.

Even mid-level managers or programmers usually can spend 4-figures easily without much oversight. And even if: I have witnessed a few cases where such requests went up the chain and came back with an added zero, despite HN third-favourite cliché being "companies have a duty only to shareholders and anything that deviates from 'greed is good' is a criminal offence'".

Sometimes it helps to offer a some sort of service contract, sponsoring or a workshop. They're bought as tokens to cover all eventualities.

So what's missing? Probably something like the FSF is doing here, handling paperwork and making it tax-deductible. I think it should be tied into some sort of coherent marketing strategy, kinda like the Apache foundation but more accessible to smaller projects, and possibly even a brand identity (/website) that doesn't trigger nostalgia for teletext. Mozilla is doing the best job in OSS marketing I can think of, but doesn't have a model for such projects. Maybe a Github foundation could also find success with a Wikimedia-style campaign. Although I'll hate myself for suggesting it if it ever happens.

Plus, unfortunately, a tiny bit of effort by developers. If you're just coding away at home and loving it, I can understand that it seems unfair, useless, out-of-personal-scope etc. that you should be doing fundraising. But it's also a bit too easy to expect good things to happen just because there's good code. (I have no knowledge of the octave situation specifically, and they may have done an excellent job and I'm wrong – this is just my general impression of some of these lone-coder projects).

Let's also not forget that OSS as a whole is probably doing better today than ever before. For every case such as this, there are dozens of cases where people are hired by large companies and largely left to work on their projects, or OSS created and released from within corporations, or successful startups with an OSS strategy etc.

Yeah, and "blockchain" isn't actually a magic spell that solves random problems...


It is his responsibility to capture the value of his work. The world does not owe him this. The world doesn't owe him anything unless he demands it.

You're asking to have your cake and eat it to: Give software away (altruism) but also feel guilty when he complains that he doesn't have any money. You can't have both.


> GPL for non-profit projects, proprietary for enterprises.

You are likely to have a hard time to get external contributions with that kind of licensing.


are there really that many external contributions for most projects? and if there are, i would imagine that it's a "simple matter of accounting" to distribute the wealth received accordingly.


This isn't about the technical problems of assigning and distributing payouts. It's how it turns one of the most successful altruistic communities into just another domain of capitalism.

There's this story from Freakonomics: A Kindergarten in Israel started to charge a fee for parents arriving late to pick up their children. Result: More parents would arrive late, because paying a fee was less of a burden than the bad conscience they had previous;y had when they made the employees stay late.

This would work in reverse. That good feeling I get when I contribute a patch for some random project I improved at the margins would be devalued by whatever $0.29 I'd get wired at the end of the quarter.


" It's how it turns one of the most successful altruistic communities into just another domain of capitalism."

You hit the nail on the head what troubled me about my own suggestion of easy monetization but could not quite put into words.

Perhaps the few poverty striken maintainers are necessary outliers in this equation. I still feel irritated there can't be some simple opt-in value capture program for recognized bdfl's.


I'm no accountant or lawyer but I would not attempt to distribute money like you are suggesting internationally. Just thinking about the employee/consultant/fee based nature of potential contributors and the tax statuses of every jurisdiction in the world makes me shudder. And money laundering regulations... And funding terror regulations...


I don't think external contributors are interested by a redistribution. If you make a proprietary license for work, people won't use it at work. If they won't use it at work, they won't contribute. I contribute to many open source projects because I use them at work.


This developer has been able to work at their hobby project for a quarter century, and finally has to contemplate the brutal reality of finding a job not related to it.

Sorry, my heart just can't ache somehow!


> Blockchains?

Only for Bitcoin.


A couple of thoughts:

- Octave won't die. It won't die even if you ditch it altogether. A lot of companies depend on it because licenses are free and that makes it easy to do massive parallel computations by launching thousands of instances. Matlab doesn't let you do that. As long as it stays GPL, the employees within those companies and academic institutions will continue to contribute to it. (Python is competition, but there are still plenty of Octave supporters.)

- You might consider working for a company that is built around Octave. They would likely gladly welcome you as well as support you in spending a percentage of your time to maintain it, since their business depends on it.

- Build something that people will pay for. Like a decent GUI for Octave that does everything Matlab's GUI does. Or a few awesome closed-source toolkits. That alone might support your personal income needs.


"Build something cool" is not sound financial advice for a person in a dire situation. The only reason it seems to work is because in the internet thousands are rolling the dice on this and you only hear of the few fraction of them who make it.


"Get to the top of HN" might be good advice for an ask, though.


"Do not teach a starving man to fish".


Indeed. First feed them; a dead husk has no use for fishing skills.


> a company that is built around Octave

How many of those are there? I give talks pretty frequently where I start by asking people in the audience what tools they regularly use for technical computing, and I'm legitimately surprised the few times anyone says they use Octave for things beyond classroom-level work.

No offense intended to its developers, but Octave as a project seems like misdirected effort to me. Matlab the language isn't the most useful thing to try to emulate, Matlab the environment and tool set for getting non-software engineering jobs done is why people use it. For example, an increasing portion of the people who still use Matlab do so largely because of Simulink, for which there isn't a comparably effective open source alternative yet (you can sometimes use Modelica but there's less overlap in users than you'd think).


Err, the Parallel Computing Toolbox for MATLAB is specifically designed for cluster computing, multicore processing, GPUs, etc.

As much as I detest the MATLAB licensing reaming (and sometimes the inelegance of the language itself), there is very little out there approaching the sheer depth of the associated toolboxes and Simulink models.


I don't believe there is a single OSI or common license that makes it straightforward for an author to say "This has all the open source freedoms, except for commercial uses" and sell the exception.

When I see people asking if they can do this, they get laughed out of the room by others who claim that "open source freedoms" does not restrict commercial use.

This is kind of a serious issue. Artists get such a license, a high quality one (CC-BY-NC). Programmers don't. Programmers are not licensing law experts, they won't make their own, and if they do they won't do it right.

If you make it as easy to ask commercial bodies for money and still be OSS as it is to just build stuff for free, this story you mention will happen far more often.


>I don't believe there is a single OSI or common license that makes it straightforward for an author to say "This has all the open source freedoms, except for commercial uses" and sell the exception.

That's true and I'll argue that's a feature not a bug.

It's also by design. The OSI specifically does not allow "for educational use only" and other types of usage discrimination. "The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research."

IMO, this was one of the things that open source software licensing got right. Non-commercial licensing of open source is intuitively appealing and is also a great way to not get software adopted.

You're correct that CC, by contrast, does have an NC clause as an option. Even leaving aside philosophical points, I hold that this is a not a good license variant. Just about anything that isn't a trivial use has some commercial element to it. And what I might rationalize as non-commercial may well be different from what the copyright holder considers non-commercial.

It's probably telling that CC has been kicking around the NC problem for something like a decade at this point and AFAIK is no closer to putting a stake in the ground now than they were then.

See also: https://www.cnet.com/news/does-the-noncommercial-creative-co...


I understand and I can even agree to some extent, but this leaves developers in the dust.

I long for a world in which someone can make a living out of open source work, similarly to those making a living out of games, mobile apps, youtube videos etc, without having to either work at a company or creating extremely restrictively-licensed software.


>making a living out of games, mobile apps, youtube videos

And very few indie game/mobile developers or would-be YouTube stars make a decent living out of it either however they license or sell their work. Same for most writers, independent consultants, etc. Being a freelancer is hard and doubly so when you're selling things that aren't necessities and have a lot of competition.


I like the AGPL for this. While it technically allows commercial endeavors, it forces the consuming software to also be licensed under AGPL if the software is considered "linked". Since businesses don't want to open source their core products, this encourages purchasing alternate licenses.

Unfortunately the AGPL has a chilling effect on using the software at all (see RethinkDB). I suspect the same would be true of any almost-but-not-quite-OSS license.


Isn't that "The Non-Profit Open Software License"?

https://opensource.org/licenses/NPOSL-3.0


Apparently not. Your comment actually made me look it up because my understanding was that these sorts of restricted uses weren't allowed for OSI licenses.

Apparently NPOSL addresses an issue with some non-profits making warranties, not to restrict usage to non-profits:

http://marlacorinne.4parkers.com/2014/06/20/non-commercial-o...


Meanwhile in Germany : as long as the institution can provide a Spendenbescheid, companies can in theory donate all they want and simply deduct it from their taxes. But all the Anglo companies don't grok this, so now students unions etc are moving to what you describe "sponsoring agreements",where they pull any possible benefit they could possibly provide for the companies on paper so it doesn't look like a donation...which is exactly what it is.

Source : book keeper for a students union for years, dealt with this shit with our tax consultant all the time


> all the Anglo companies don't grok this

News at 11

Hardest part of dealing with American companies seems to be that they usually don't understand (or don't consider that) things that are different from the US (UK companies seem more open to this, still)

The fact that nobody pays invoices with checks outside of the US for example, or that different countries have different payment methods.


Do you mind elaborating on this? Perhaps an example?


Example : we organised a trip to a large trade fair and got 1000 € support pledged verbally by a large chip maker. As we get to the date of the trip, we get an email in English from the (apparently British) accounting department :they need a contract for sponsorship. We tell them that we thought they just wanted to donate the money (as did other German companies), mails go back and forth.

Finally we slapped their logo on our site for the trip, added the tax we would have to pay on the money, then sent an invoice. As our tax consultant explained to me, they can reclaim the added tax through their own tax return, resulting in a net exchange of exactly 1000€- whatever the labour costs of everyone involved.

Now, this trip was not too bad, but possible complications are :

* What you get sponsoring for needs to be in proportion to the amount of money, leading us to need way more volunteers than originally planned just to deal with the overhead of the sponsor services in a career fair we organised * If you are tax exempt for charitable purposes, you need to very cleanly separate donation funded things from sponsorship or otherwise business funded stuff, because subsidising a lossy business is only rarely legal

German-cultured(DACH) companies get the idea of "give money as a donation because what they do benefits us" a lot more than Anglo-Saxon cultured ones, at least in my experience, which might be reflected in the law


I'm not sure he's correct. Donations to charitable non-profits are tax deductible both in Germany and the US IIRC.


I thought so as well, but we were asked for sponsorship instead of donations again and again, not because they wanted more of a service but "because I need an invoice"

It might be that the legal framework is there, but the process within companies is not. I'd be interested in someone correcting me if I misunderstood things


You know it's never something I've thought about before but if a group of students came to me looking to go to a trade show I would expect them to use the word sponsorship, whereas if a homeless shelter came looking to support their daily operations, I would expect that to be a donation.

I think the critical different is that the sponsorship is for a specific activity, but I'm not sure.

There's certainly tax structure in place for donations in the US, but perhaps there is also a custom regarding sponsorship.


I know jwe.

So, you want Octave to sell support contracts because accounting will never do donations. The two examples aren't selling just stooge licenses. In the case of pfsense, they're selling support. That means changing what jwe is doing from developing Octave to handling support calls. In the case of sidekiq, they're actually just selling plain ol' non-free software, which is what open-core is.

jwe will never want to sell non-free software. He's already selling some support and has a few customers, but it's not easy.

I often have heard engineers (who seem to sound angry or offended with the concept of a donation) say things like what you are saying, but I've never figured out how to satisfy them without either (1) just plain selling non-free software or (2) completely changing the focus of the work from developing Octave to doing some mind-numbingly boring task like getting Octave to run on RHEL 5.


you are overcomplicating this. The better examples to look at are pfsense and handsontable. There is really no major distinction between the license and free software. Its basically an "early access right", a special package repo for pro customers and in case pfsense case.. an ebook.

In sidekiq pro case, the "support" is a right to send email. If i may say so, that scales with the money you receive.

How to set it up? take a look at sidekiq - they use https://plasso.com. There are tona of alternatives in this space.

More importantly, we are here to help. Please don't hesitate to ask. Also take a look at indiehackers.com to see how others did it.

lastly - we are not angry.. we are frustrated because we have the ability to help. But open source software creators must empathize with procedures and stupid stuff like accountants. Unfortunately thats unavoidable, no matter how much you want to.


The situation really is complicated if you are committed to the constraint of keeping Octave free.

Sidekiq pro is just selling non-free software. It's not just the right to send email.

    My second idea was to move to an open core model: hold 
    back more complex or enterprise-specific features from 
    the OSS version, sell those features as an "expansion 
    pack" on top of Sidekiq. Thus, Sidekiq Pro was born. 
    This proved to be popular and forms my business today.
https://www.indiehackers.com/businesses/sidekiq?utm_source=n...

I can't tell about handsontable, but it looks like again it's just plain ol' non-free software, although they do seem to let you look at the source code under what sounds like a restrictive license.

pfsense also seems to sell a lot more than just an ebook. They sell backups, what sounds like another non-free addon "plus many more features". Maybe most people don't use any of that extra stuff?

None of this sounds like it's just a matter of selling stooge licenses, and the sidekiq guy even said that selling stooge licenses didn't bring in any noticeable revenue.


What is a "stooge license"?


I keep hearing from engineers who can't donate that I should do something like sell a box with an Octave CD in it or a piece of paper that says it's a license but not actually do much beyond that, maybe only a vague promise to give priority support.

It's a donation in all but in name so that the accounting department will approve it.


Do people in general realize that software is one of the US's greatest strengths and that there is a staggering amount of innovation done via free/open projects? Or do they just know "SV has some big companies like Apple"?

In all the debates about MAGA or how to invest in the country I don't think i've ever heard someone raise the issue of funding importent open source software (only indirectly).

Actually for any country that can afford to invest, it provides so many benefits economically, competitively, academically, and strategically. Best of all it can boost macro productivity, which benefits everyone even if they have nothing to do with tech.

Even lowly web development which people love to bash as changing too much. you can look at all of it as creative experiments in engineering that eventually end up advancing productivity.

Who handles PR for open source anyway? Shouldn't a professional communications person work on building awareness, explaining the value, advocating for the cause?


Under rated post here. The key is to build a bigger solution around Octave, including say database or ML or simulation. A billable piece of IP. And streamline the surrounding commerce.

ALso key is to locate Octave within the solution space, e.g. Startups who can't afford matlab. High schools. A formal online course. Makerspaces. Job seekers wanting to work with matlab.


I'll add my voice as someone that would gladly pay $100/year for a few no-support type "licenses" (and I just made a long overdue donation to jwe).

That said, I would understand if he didn't want to try an licensing like that for fear of angering The Mathworks.


Pypy and Wine both have good models.

With pypy, funding goes towards particular projects (e.g. STM).

This may not be suitable for all projects or developers (libjpeg turbo being an example - he wants the freedom to be research lead and work on what he likes).

If anyone, then the FSF should be looking into this problem, study all the models used, which are successful and provide some sort of template model for people to use.

Licensing may be an issue, can you do the Sidekiq or Wine model when your code is GPL ?


You can license your code however you like as long as you own the copyright. You can license it as GPL and sell an alternative commercial license for money.


I still do not get it. What explodes when a company donates (instead of paying for something with an invoice)? I cannot imagine that it is illegal.


It's all legal and fine, it's just how do you get it approved? You're not actually buying anything, nothing will stop working and no projects will be impacted without the PO. In a large company, this effectively makes it impossible.

The solution is to just pretend you're buying a minimal support contract and that'll get approved no worries.


Furthermore, in large companies, charitable contributions are probably handled by a completely different organization with monies coming out of a completely different bucket than sponsorships being paid out by some marketing department or other.


Shouldn't be a problem for smaller companies though? Or is the accountant going to withhold approval or something?


Every company has some process for buying something and paying for it. They have to. And similarly they have to have someone who, on a regular basis, approves purchases. Most don't have a process or person for approving donations. So at a minimum somebody has to think about it. Whether that's thinking about whether they have the authority to approve a donation, or thinking about who above them would need to sign off, or thinking about whether making donations is a good corporate policy, it's thinking instead of doing. It's a surprisingly significant barrier. Like how it shouldn't matter whether the buy button is reasonably sized and gray or giant and green, but in practice it does. You want to make it as easy and thoughtless as possible for people to give you money.


(I am honestly extremely interested.) It seems like Sidekiq is offering a slightly differen piece of software as the Pro version?


which is A Good Thing. Again, its those accounting people again "whats the difference between this and the free version".

Selling open source is like selling any other enterprise software - you need to prove value.

An alternative is to sell support (like pfsense).. which is pretty much the right to file bugs. We also buy a license for Handsontable Pro : we get right to file bugs and the fact that we get new features 3 months before the free version.

Its just a way to package gratitude-ware to pass accounting inspection.


> As a company, I cant do that. I need an invoice.

...which you get through the FSF donation link he provided.

It's amazing that this is the top comment.


Maybe you're the one who can write a check, but this is a difficult topic...

I do corporate accounting for baroque software and I can write an invoice and pushing people to pay for it is still quite a sales challenge - you need to be able to talk to high enough people and prove the value of what you're offering on top of the software you are already giving for free. It's not different to a standard issue sales exercise, except a little harder. This is not a skill that most open source project maintainers would consider themselves experts at.

Giving advice like that is very dangerous - "only if you did that, you would make money". It's not a given that it would lead to something more than couple hundred dollars.


"...software you are already giving for free"

Free and open software has created the expectation that software has no cost. Trying to overcome that after the fact will take time and education.


I suspect that is never going to change, and the same is true for many services.

There is a community site I frequent that keeps itself afloat with a freemium model (if you pay you get more features; but you still get 98% of features even as a free user; there are no ads on that site). Many people understand this and pay to keep the site running, but something like 10%-20% of users claim that it's just a money grab because "facebook offers essentially the same features and they can do it for free, so obviously this site is trying to make a profit on our back".

There is expectation that because some software is free, most software is free. Similarly, there's an expectation that if some websites are free, most similar websites should be free as well.

p.s.: the main cost to using Facebook in my opinion is privacy, and I value my privacy much more than what I get from Facebook. Obviously. other people value privacy and facebookness differently.


It's quite likely the guy loves writing code for his project and doesn't want to bother with the mundane operational details of running a business. I don't think there is anything wrong with that.


I'd imagine it would be very hard to switch to that kind of model after all this time. Wouldn't guaranteeing a permanent level of support would likely involve hiring people and having to bring in enough to support them too?

It might not be that hard if you're motivated and have that vision, but I can completely understand someone not wanting the added pressure after all this time.


One of the best things that can happen to an open source project is support from companies that use those projects. For example, Red Hat contributing upstream to Linux. We have a dedicated 20% time that employees can work on whatever they desire. I'd love to someday be able to fund a full time engineer that is able to contribute to projects we benefit from.


That seems like a good idea of a third party service - taking care of Pro subscriptions and invoicing for OSS projects.


I work for govt, and I'd like to buy a lot of open source support contracts. As long as they are under the purchase limits that would force full tendering process things should be easy. But I simply can't donate.


> But you cannot give a paypal link and expect donations. As a company, I cant do that.

Why?


In a nutshell: Companies don't give money away.

If you want money from companies, you have offer the trinity that suits their payment rules and habits: An order, an invoice, a payment.

What you sell doesn't have to make sense to the beancounters. They're used to that. But it has to be something they're able to order and pay for.


Because at least here in EU, you need an actual invoice for every expense that gets put into the accounting books. That expense can then be written off and doesn't count as "profit". Not having an invoice will make any EU-based company probably flatly refuse the payment due to how much accounting and revision issues that causes.

Having a proper invoice (client address, your company address, VAT number) makes life significantly easier for accounting department and thus makes paying money significantly more likely.

(There is also a lesson here for other US-based companies and conferences that can't produce a simple paper saying "Invoice" and a pair of addresses. Yes I'm looking at you 1Password.)


Having a VAT number in most EU countries has a fixed cost that is non-negligible.

For a realistic example in Italy, having a VAT number implies a minimal fixed yearly cost of ~300eur (combining all various expenses) even for zero income. If you already are an employee, any extra income is likely to be taxed higher and require extra bookkeeping, to the point that cost parity is only attained if you can invoice for at least 450-500 eur.

This is purely wasted money, without considering the extra work that you have to put into for the tax records.

It's simply not worth it.


It's not worth if you're making less than 300eur per year.

For any reasonable company (even a single founder one), 300eur is nothing


I don't think you understand the implication: there's no way to have a small, side passive income in the 0-10k range. This is a big stopper for many OSS developers that could bootstrap themselves.

With this limitation, many developers simply do not (and rightly so) put the effort in accepting anything in that ballpark because it's just extra work.


I agree. You could get payment without a vat number though


In this case, there are also rules for the amount of income you're allowed to get without a VAT.

I'm pretty sure in most EU countries the profitability of a service supported by patreon (that is, a passive income in sub 10k range) would be almost nullified if correctly accounted for taxation.

I had long discussions with friends about legally accepting money for side projects. It's a very hard topic to discuss.

I'd be curious to know if anybody in an EU country is able to legally accept and declare a side income and retain anything more than 30%.


You misunderstood me, I didn't imply that you need a VAT number as a seller company (as a US company you can't even have it), but just that you should be able to produce a simple invoice PDF with your address, buyer address, buyer VAT (if needed) and a sequential number to provide a paper we need to properly add payment into the accounting books.

And yes, I know that VAT isn't required piece of information on all invoices, but it WILL make the payment go smoother through the accounting departments which is what you want ;)


Some of those costs are general accountancy that you would have to do anyway, as long as you try to sell anything.

AFAIK the big problem with VAT, from a seller perspective, is the fact that most governments, knowing full well that 90% of businesses fail in the first 2 years, ask for big upfront payments on estimate VAT remittances in that window, to make sure they don't lose out. After 3 years, as long as your accountancy is correct, it should be smooth sailing.


At least in Italy, this is exactly the opposite. The first 5 years you are given a "relatively" easy start, giving you a false sense of the costs involved. After the 5 year mark, the costs suddenly becomes 5-7x, often making the company fail.


Is it possible to "restart" the company? Maybe with slightly different name :)


There are several ways to obtain a VAT number, but the most economical is by binding the company to an individual, which of course won't be able to do so.

There are other way to start companies that are not directly attached to a person, but this involves a much larger upfront capital, which is designed to avoid exactly this scenario.


Generally because of existing accountancy practices. In tiny companies, you can get away with it but any company of reasonable size will need a paper trail beyond "I donated to this guy as we use his free software"


Maybe the best "gratitude-ware" page you know but am not convinced their communication extends to the front page. No idea what it is this service is or does.


Or its a flaw in market capitalism. "When all you have is a hammer everything looks like a nail"


I don't understand how YC can fund non-profits like VotePlz and the ACLU while not funding stuff like this. All of the startups funded by VCs use free software, often exclusively, but these VCs continue to refuse to adequately fund its development. Marc Andreessen even publicly boasted about how much OSS his companies use[1], which he of course doesn't pay for.

I also shudder to think of how Eaton will fare on the job market should he actually be forced to seek regular employment. Will he be whiteboarded? Will his work on Octave--which by all rights should be able to serve as a strong-enough resume by itself to justify his hiring--even be looked at by potential employers? And what about his age? 25 years on Octave could mean he's pushing 50. I could easily see him getting a "no hire" from plenty of trendy tech companies.

[1] http://www.businessinsider.com/boxnet-2011-9


I don't understand how YC can fund non-profits like VotePlz and the ACLU while not funding stuff like this.

Whenever I read something that starts off along the lines of "I don't understand" or "It makes no sense" I wonder how much time the poster has taken to put themselves in the shoes of those they can't understand and rough out ideas that might make sense to them.

Look at VotePlz and the ACLU, the other startups YC supports, and Octave. Do you see any similarities? Any differences? The first that jumps out at me is that YC doesn't support open source for open sources' sake. It supports organizations that serve some sort of purpose other than writing software; another way to describe this is that the organizations have business models. Some of the startups might be developing services that support software development or tech rather than something consumer facing, but it's the service, rather than the software, that is being supported by YC. In that sense, VotePlz and the ACLU are similar to the startups YC supports. Octave isn't like this. What is Octave's business model, other than to develop software that can be used by others?

Please don't get me wrong. I see a lot of value in open source projects, and have used and contributed to open source projects both professionally and personally. I don't have any experience using Octave, but have no issue giving it the benefit of the doubt that it's a worthwhile project.

Perhaps I'm mistaken. Are there software projects similar to Octave that YC supports? Is there a meaningful difference between YC's startups and VotePlz and the ACLU, and open source projects such as Octave?


They could set up a fund of sorts and just take stock of what FLOSS software the current batch/all running batches use and distribute some amount of money that way.

They could also just hire prominent FLOSS folks as exclusive consultants for their batch companies which could actually turn out to be rather valuable.

They could also set up a special mini-incubator focused on helping FLOSS developers build a business around their software.

I think there are a lot of rather interesting strategic options.


I think that is a pretty great idea.. essentially a private tax system to pay open source. However like all tax systems, it would only work if there were an enforcement mechanism.

I do find it ironic that many of the dev crowd seem to love government taxes yet when it comes down to actually putting money into the products (code,) they depend on, people seem to get free-ridery all the sudden. Yet people have no problem wanting to tax people for whatever government program of the moment is en vogue.

I don't use public transport (I live in the countryside in France,) but I do use open source every day. I pay taxes for subsidizing the Paris metro (via national taxes,) yet I never (or very rarely) use it. Every person using a smartphone on a train is using open source in some form.

My logic isn't well formed but my point is that open source is every bit as "worthy" as a bullet train from LA to San Fran -- and probably benefits far more people. However since open source doesn't result in certain politicians' associates getting rich off of land deal, open source doesn't have much political interest.

To be clear, I am not proposing a government tax to fund software -- I am suggesting that investors/devs/companies that use open source ought to consider ways to support the tools that make their business possible.

Free is never free -- some dude (or lady) in a basement somewhere is forgoing personal income to help build the tools upon which billion dollar companies depend.

Open source is similar to someone personally doing the work to build a road -- a road traveled by companies making money by using that volunatarily created road.


> I do find it ironic that many of the dev crowd seem to love government taxes

Can you provide evidence for that?


Put that way, YC's politically leaning activities remind me of lobbying. Supporting policies that are good for its business models.


Will his work on Octave--which by all rights should be able to serve as a strong-enough resume by itself to justify his hiring--even be looked at by potential employers?

It'll probably register on the backs of their eyeballs somewhere. Some of them might even might even experience some momentary flash of recognition: "Octave? Right, yeah. Some GNU thingy..." before catching themselves and saying "Well that's, nice. But he doesn't have any Node or Angular, and I don't see any of the buzzwords, like 'microservices', 'serverless' or 'container' I was hoping so far. Smart guy, but too academic. And probably too fossilized at this point in his career to learn any of the shiny new stuff... but what the heck, let's give him a chance -- we'll see how he does on HackerRank".


Ha, I'd love to see a youtube series in which famous old-school open source devs apply for web front-end gigs. Episode I, Linus Pair Programs.


This reminds me of the Joshua Bell-on-a-subway project some years back. :)

: read en-dash


God that'd be amazing. Should try to make it a thing.


Funniest post on HN in years!


You mean like Google refused to hire Homebrew's author, because he failed to make an inverted tree exercise?


> Will he be whiteboarded?

I like the way you word it - it makes it sound like a form of torture.


The lights in the conference room flickered intermittently, a slight buzz heard each time they dimmed. Something was dripping on to the ceiling tiles from above, a large orange colored stain had developed in the corner.

The interviewer leaned in again, his tie loose, his face covered in stubble. He'd been at this for four hours now and it was showing.

"Tell us your social media passwords."

The candidate flinched back, shaking his head.

"I told you, I...that's illegal, you can't ask for those."

The interviewer clasped his hands together, cracked his knuckles, and flashed a big grin. With a swift motion he swiped a marker from the table, flicked off the cap, and stabbed it in the direction of the candidate.

"Write a linked-list implementation in C. Oh, and because you've been such a tough-guy you only get to use malloc...once. In the main function."

A bead of sweat quickly ran down the candidate's face. He looked tense, fraught with concern. The sound of his teeth grinding together wasn't hard to hear.

"S-seven salamander six exclamation three five."


> Oh, and because you've been such a tough-guy you only get to use malloc...once. In the main function

Oh yeah? How about I just don't use malloc then:

    static char ALLTHEFUCKINGMEMORY[1024*1024*1024];
    static size_t NEXTBYTE = 0;
    void *myAlloc(size_t size) {
        void *ptr = &ALLTHEFUCKINGMEMORY[NEXTBYTE];
        NEXTBYTE += size;
        if (size & 3) NEXTBYTE = (NEXTBYTE & (~3)) + 4;
        return ptr;
    }
    void myFree(void *ptr) {
        fprintf(stderr, "REAL PROGRAMMERS DON'T NEED TO FREE MEMORY\n");
        exit(-1);
    }


nice one!

for single linked list you can just use an array of the struct and borrow/return via circular list. my C is beyond the rust levels of 20y Golf 2 but I guess I won't sweat over.

An alternative solution would be cheating away and using realloc instead of malloc.


This story was fun to read but you lost me at the pass phrase with four numbers as words. That's clearly not dice ware!


65324 zero 44346 one 62245 two 61154 three 26252 four 25534 five 54225 six 53415 seven 24253 eight 43526 nine

Of course, if these were your dice rolls, you're pretty unlucky, and should try again. And/or buy a lottery ticket.


Someone upvote the parent, I can do it just once!


I have a theory on why Google insists on whiteboarding senior-level candidates. I don't think it's for checking for talent as much as for checking for motivation.

Think about it - in order to pass, you basically need to drill those algorithmic exercises for weeks before the interview. If you do, it's a very good signal that you really want to work for Google (similarly, investment banks, management consultancies, prestigious law firms make their associates go through a very tough ordeal after hiring to weed out those that don't want this career bad enough). And it makes sense - for a majority of jobs at Google, you don't need to be super talented, but you need to have internal motivation to keep working on the same boring code for months/years before (if ever) you get picked to work on something interesting.


This. Because of the massive amount of hiring the big 4 do their entire interview process is available online. Sure there are variations depending on the interviewer you may end up in a room with but for the most part they all follow the same format. Anyone who really wanted to work at one of these has to study and practice how to interview for THAT company. Sure there is still some element of luck / right time right place in play but most people who fair interviews at the big four just don't put in the time required to prepare.


You're saying getting in Google has nothing to do with intelligence?

Have you gotten an offer from the Big4?


Intelligence? That's a fairly hard thing to measure and likely a poor indicator of a good employee. However there is a element of prep and memorization which does require a base level of intelligence.

Haven't gotta an offer from the Big4 but like I stated half of my former team now work at one of the big four and I've worked with loads of people who have received offers or currently work at the Big4. I also know countless people who have been utterly destroyed in technical interviews with the Big4 because they didn't put in the time and effort to study for it and treated it like a tech interview for a digital consulting agency.


Yes you can bet the farm that if he interviews at Google, Facebook, Uber, Amazon, Dropbox, etc. they will all whiteboard his ass (if he even gets an interview --because of his age). They don't give a f' who you are or what you did. In my google onsite they didn't even ask about past projects (who cares really?). The question is can you whiteboard?


> They don't give a f' who you are or what you did.

I know a few people who Google has hired into specific roles directly due to their previous work...


What she or he said is mostly true, though. But there are always exceptions.


Yeah, I can't imagine Rob Pike or Guido whiteboarding for their Google interview... Although the thought of such a conversation has me laughing internally.

I created Unix, Plan 9, UTF-8 among other things. Just go ahead and put your dry erase pen back in your pocket sonny.


Probably this is the right thing to do, because this is a weak-link network problem https://9clouds.com/blog/weak-link-networks/.


The good thing about people who math often (which I presume he can since.. Octave) is that they can whiteboard.


> I also shudder to think of how Eaton will fare on the job market should he actually be forced to seek regular employment. Will he be whiteboarded?

'Whiteboarding is a form of programming torture in which a candidate must code algorithms he will never use on the job on a whiteboard in front of other people, causing the individual to experience the sensation of inadequacy.'


You said it yourself—Octave isn't trendy or cool.


The problem is I think Octave missed its window. 20 years ago when I was in grad school, everybody was using Matlab and a competitive open source version would have been a killer app. I looked into Octave at the time, but it was basically a toy at that point. I looked into it recently, and it really has come a long way, and even has an official GUI similar to Matlab's, but these days Matlab is kind of fading out and R is what everybody seems to be using.


Different communities. Matlab and Octave are big among capital-E engineers, R is for statistics and fights with Python.


Exactly, and matlab is growing in engineering schools and big engineernig firms, not fading out


0 years ago when I was in grad school, everybody was still using Matlab. Ok, some used R and NumPy but 80% Matlab. Such a collection of sparse matrix routines (direct solve, iterative solve, preconditioning, eigensolvers, SVD) is very useful in applied sciences.


I did my uni ~10 years ago and I made a point of using Octave when everyone else was using Matlab. It worked just great for all the ODE and statistics exercises. Nobody else used it though.


And 10 years ago when I was in grad school (dropped out though), Python was on the rise with numpy and matplotlib. Coming from a programming background, it was an easy choice and I'm still using those today. They've got more usable for people with less programming experience with Jupyter notebooks etc.

Was briefly tempted by Octave, but it just didn't happen.


Or Python. I switched from Matlab to Python and Numpy and Matplotlib and Jupyter a few years ago and haven't looked back. They really are better in many ways.


20 years ago when I was in grad school I did use octave to do my research, and it was 'mostly fine'. (Also I discovered that a couple of the matlab toolboxes I needed were just .m files and there was no technical reason that I couldn't just copy them into a local directory for octave to find; I consider this no worse than 'morally iffy' considering that we had a matlab site license)


Hey, I used it in Andrew Ng's Machine Learning course on Cousera. It was that or Matlab.

Nothing trendier than ML, so I'd recommend going that direction.


You can use Python; someone created bindings:

https://github.com/mstampfer/Coursera-Stanford-ML-Python


The easiest explanation would be he just didn't ask YC.


This is not a scalable model of software funding. People may send you money today, because its on their minds, but bills will have to be paid again next month, and next year. Please get yourself, a Patreon account, or something similar.

Meanwhile, I'm sure MathWorks is looking for people with exactly your domain knowledge[0].

https://www.mathworks.com/company/jobs/opportunities/?s_tid=...


Patreon is awesome, but it's not enough to pay the bills full-time for most people. That said...anyone who owns an open-source project, is the primary contributor of said project and sacrifices a significant amount of possible revenue at their job to contribute to the project should have a Patreon page where anyone who feels like they want to contribute can do so. It may not be your primary source of income, but getting any income from your open-source work is a good motivator to keep working hard at making stellar software.


It's a component of your income stream, not a complete solution.

If you're doing open-source software as a living it's essential you have:

1. Books: You should at the very least write the canonical book on using a package, tool or application you've written. Amazon residuals might not be high, but they're non-zero. The effort involved in writing a book is considerable but they can pay dividends for a long time. It's also something you can chip away at over time.

2. Patreon: You need some way of measuring community enthusiasm for your project and what better way than to see how much they're willing to pay for it. Reward tiers can also help by allowing more generous patrons to help with advice, like feature requests, early code review and so on. This builds engagement.

3. Support Contracts: These might be super obnoxious, customers can be very difficult, but if you're in it to win it you absolutely need to cover this off. At the very least offer incident-level consulting to get people out of a jam. Figure out what the hassle's worth and price accordingly. $200/hr? $500/hr?

4. Corporate Sponsorship: I like it when companies step up and help fund open-source software directly, like how Redis has been supported by various companies along its lifepan (https://redis.io/topics/sponsors). If you find a good partner it's not "selling out", it's validation that your project is meaningful. They'll respect your decisions and not interfere.

5. Talks: Get out there and talk about your project. At the very least make videos, or get people to make them for you, that introduce how your tools work, how they can be used, and where you're going with the project. Being a speaker at an event might be daunting for some, but it's a great way to make connections and find opportunities.

Too many developers want to focus on nothing but the code. That's not how the world works.


Not getting paid for open source is how the world works.

If you do any of the above you invite yourself to so much criticism that it's not worth it. I have first hand experience of this.

I hope to retire next year to do open source full time with money made from closed source. My audience will not be developers though; I'm soured on them. I'll be targeting a niche group who are actually grateful for free tools and don't feel like it's their life duty to criticize every small thing.


> Not getting paid for open source is how the world works.

That's how it used to work. That's 1990s thinking back when people would do these things purely out of love, and when those using it were hackers or ramen-noodel eating entrepreneurs.

Now huge corporations are using open-source tools, and some huge corporations have been built with open-source tools. Where would Google be without Python? Where would Facebook be without PHP? Where would Twitter have gone without Ruby?

That's why having an official method for giving back is important. Node has shown tremendous leadership here in setting up an NPM corporation (https://www.npmjs.com/about) that makes it easy for corporate concerns to donate without accounting concerns: Writing personal cheques to people to "donate" is out of the question. Giving to a foundation is noble. Paying for a support contract is reasonable. The difference might seem superficial, but it's important.

> I'll be targeting a niche group who are actually grateful for free tools...

There's nothing wrong with finding your own niche and doing it out of love and passion. That you're able to do this is great, but some need to concern themselves with how to make a stable, sustainable living that's not predicated on having a large amount of money saved up.


Python, PHP, and Ruby are not great languages. Google, Facebook, and Twitter are successful inspite of them.

I'm not saying open source is bad, I'm saying Dev culture in not paying for tools is bad. I agree that ideally it would be different.

I speak from decades of experience doing Dev tools inc open source. All of my friends are practitioners in the space. We're all obsessed on how to get people to use better tools. It is something I've put a lot of thought into. I've personally spent over $200K on salaries for people to build open source tooling. If I could make a business out of it I would spend more. But I can't. I had to build an entirely separate company to make money.

Edit (addendum): People who have paid $1500 for my software are grateful that I'll even talk to them; whereas open source freeloaders constantly demand I do more free work for them.


> Python, PHP, and Ruby are not great languages.

What high horse did you fall off of? They may not be perfect languages, but they get the job done, and for many people they've made their career possible. Greatness doesn't come from beauty, PHP is the ugly bastard-child produced when Perl and C got drunk one night and had a baby, it comes from utility.

> I'm saying Dev culture in not paying for tools is bad.

Maybe that's bad, but you know what's worse? Back when you had to spend huge amounts of cash to get a barely working compiler because there were no viable open-source alternatives. This was on top of the huge amounts of cash you had to fork out for an operating system from a vendor like Sun or SGI. Oh, and you also had to drop thousands more on a proprietary system that could run it.

So, yeah, good times back when nobody could afford to do anything but at least the people at Sun and SGI had jobs.

Then Linux happened, then scripting languages like Perl, Python and PHP proved themselves capable of getting the job done, and the modern web came about. This would never, ever have happened without those tools.

The single greatest thing to happen in the last twenty years is that you can get a computer that you can develop on using free languages, resources, and tools for under $10. That price is $0 if they use someone else's computer, or borrow time at a library. That, and that alone is enough to make these languages great.


As you point out, sufficiently good. But not great.

I agree that the world is a better place with open source. I simply wish there was a culture were developers opened their wallet and supported it. That way we would have even more of it.


Then instead of bitching about the tools or the attitude of developers, which does nothing, why not work to encourage people to support it properly?

For example: I think personal donations can only go so far. I'd rather see an easier sell for simple "support packages" that developers can recommend to their organization that helps further development. "We're really invested in package X and it'd be great to be listed as a supporter on their page, it's cheap marketing and they'll help us with technical support issues! We could try a $50/mo. subscription..."

Compared to $50K annual server licences that's an easy sell if it can be phrased in a culturally compatible way.


None of the ideas you present are new to me. I've tried them all. I have many friends in the space who have tried them all as well. If anything worked we'd be the first to know.

"If it can be phased in a culturally acceptable way" - have you ever tried to intentionally change a culture? It's damn near impossible. Having it as a prerequisite to success practically guarantees failure.


"Tried" and "persevered" are two different things. The people I know who've found success in these endeavours have only found it by sticking to it and grinding until they got somewhere.

They had to endure multiple failures, but each time they failed less than the last. Success was really the one where they failed the least, and after that they can chart their own path, they're finally above water.

> have you ever tried to intentionally change a culture? It's damn near impossible.

Yes, I have. It's not impossible, it's just very hard. It requires stubborn determination.

Don't expect anyone to care about your project unless you make them care. Don't expect anyone to pay for your project unless you ask them to. You need to engage, you need to evangelize, you need to promote. Relentlessly.

For example, I haven't heard one bit of promotion from you in all of these comments. Not a peep. Does that mean whatever you're doing isn't worth mentioning?


> I'd rather see an easier sell for simple "support packages"

There's an idea for a service, there. Have something that developers can use to generate "support packages" or "freemium" offers, and get a cut. Basically, a sort of appstore for developers to developers. You could even offer a white-label service that people can integrate in their own websites.

These services exist already for generic commerce, we just need something slightly more focused on the needs of developers.


> Then instead of bitching about the tools or the attitude of developers, which does nothing, why not work to encourage people to support it properly?

Perhaps because ggame is not a good marketer. I for example try to promote some ideas (unrelated to the topic here) all the time, but I am talking to a wall. Thus I'm surely not a good salesman, but a very good programmer and mathematician, I think. So don't ascribe double standard to ggame.


I wish it was my lack of marketing and business skills, that way there would be more room for others to succeed.

While I'm not claiming to be a marketing guru, I am successful in business in a different domain. Hence my early retirement.


Your "supporter" idea is attractive, but note that big companies protect their brand more than anything else. Getting permission to put that brand on some random third-party web page can be nearly impossible.


> Then Linux happened, then scripting languages like Perl, Python and PHP proved themselves capable of getting the job done, and the modern web came about. This would never, ever have happened without those tools.

So Linux was so good . . . that it enabled a world where normal people don't use it, but instead use JS apps that store information on other people's servers? Because that's what I hear when you say Linux is a success because it enabled the web.


Normal people use Android phones. Which use Linux.

Normal people use shared hosting. Which often uses Linux.

Normal people use Linux a lot more than they realize. I think it's fine they don't have to pay attention to that, that computers can be invisible that way, but if you call yourself someone familiar with technology you can't be ignorant to it.

So do you have an argument or just a whole lot of misplaced anger?


Android phones run on a Java runtime with constrained access to native libraries. Google can replace Linux for something else, no one will notice.

Normal people use shared hosting, with runtimes that don't require Linux. It could be something else and PHP, Perl, ASP, JEE stacks will still run.

Normal people use Linux on devices, because it is the best OS OEMs can get their hands on without paying a dime for it.


Android apps can use native binaries. Replacing linux without breaking compatibility with apps is rather impossible (unless with some linux compatibility layer)


Have you ever used the NDK?

Android apps are only allowed to link to these specific set of libraries.

https://developer.android.com/ndk/guides/stable_apis.html

To put an hand to the cowboy programmers that were linking to system libraries not part of that list, starting with Android 7, they will be terminated if they try to do so.

https://developer.android.com/about/versions/nougat/android-...

The only form of binaries allowed on a standard Android device are shared objects.

The Native Activity is actually just the native method calls of https://developer.android.com/reference/android/app/NativeAc... that loads a shared object with a predefined name.

None of the stable NDK APIs are GNU/Linux specific and the POSIX layer isn't fully compliant with the standard, many APIs like e.g. SYS V IPC are missing.

http://www.cs.columbia.edu/~vatlidak/resources/POSIXmagazine...

https://roxanageambasu.github.io/publications/eurosys2016pos...

Rooted devices don't count, as that is not what people get on the store when they buy an Android device.


I have a lot of accurately placed anger.

Linux is great for experts, and I really respect it for that. It has been very empowering to people like us.

The web is a peasantizing TV replacement and a trash fire. Linux is great on its own merits, not because it enabled this "web" abomination.

(Talking about webapps here, not web sites. Your personal static site is awesome. The fact that many people's experience with computers is remotely delivered JS storing data places they don't control is not.)


What exactly do you think the majority of "the web" runs on?


The Web is a set network protocols and web browsers, all of them born on commercial UNIX systems, not Linux.

GNU/Linux and *BSD became relevant to the web infrastructure, as no one wanted to give money for UNIX.

Which is the culture that lead developers as the Octave's author to search for income elsewhere.


Which languages do you consider great? (just curious to know where you are coming from)


For general purpose programming I consider the meta languages (ML) to be great. E.g. Rust, Typescript, Swift, Scala, F#, Haskell, Ocaml etc. Something like Hindly-Milner typesystem in order to build good tooling. Scripting languages don't have this so I don't consider them great. Facebook build one for PHP after the fact and at great cost. So, I consider them successful despite the initial lack of a type system. It is great that the world is catching on to ML languages now. This stuff has been around since the 70s so it has been ridiculously slow.


>I'm saying Dev culture in not paying for tools is bad.

I don't know, JetBrains seems really popular to me. Off the top of my head, I know of a few commercial tools that seem to be doing ok? (judging by their continued existence), e.g. https://blackfire.io, http://undo.io, https://scrutinizer-ci.com, etc.

Of course, a non-open-source programming language doesn't stand a chance today because of the massive network effects required for success, but that seems natural (people want to use what they already know, what they know is often what they learned in school or on their side projects).


I think the point I was alluding to is that the market should be much bigger than it is. And it would be great if open source contributors could make money from their work.


For what it's worth, I used to live with a guy who used the Magic Lantern firmware add-on for certain Canon cameras, which was very powerful free software that had a community forum. He would tell me about how he'd shit talk the devs for not including some feature or when something wasn't working. It's pretty terrible.


Having a community leader who isn't afraid to crack some heads to keep people in line is always important. People like this poison any community.

Make a Code of Conduct and use it to control your community rather than let your community control you.

It's like parents complaining their kids are "out of control" and "there's nothing I can do". Seriously? We've been raising kids for a hundred thousand years. This shit isn't new.


People will complain about the code of conduct and again about their banning upon breaking a code of conduct. Managing a community takes a lot of time for something you're not getting paid for.


If you have a good enough product it shouldn't really matter, right? Just ban the trolls, answer questions where you can, but mainly work on the product. No one should be sifting through questions - They should be taking the most commonly asked ones, answering them, and swiftly banning those who seem unhelpful and rude. There's no way that type of moderation would kill your community unless your product just sucked enough that it didn't grow on it's own.


>Seriously? We've been raising kids for a hundred thousand years. //

I wonder what proportion of that has been done with only a couple of hours of parental/family contact per day (and those when the parents are most tired).

Also probably, for better or worse, corporal punishment has been a mainstay up until the last few decades.

In short, I don't think modern Western parenting can rely much on the methods of the past.

It's totally OT but I'm interested in thoughts/responses.


This is good advice. Don't be afraid to wield the ban hammer.


People think the interface layer they see is all there is and all developers need to do is add some goodwill to make the software function.


If you need that much tooling for a python project, you are overengineering or writing really poor code.

I've never found a case where someone is using tons of 'better tooling' for a well engineered project. 'better tools' are crutches to support a 500,000 line spaghetti code base.


I personally use Vim and Tmux for my IDE. But I build tools for people who aren't me and they need tools specialized for their job.

Even general purpose devs can benefit from better compilers and code completion.


The reality is that there are lots of spaghetti code bases, and better tooling is a godsend for those.

There is no situation where better tooling isn't better!


> There is no situation where better tooling isn't better!

This is trivially a tautology. The non-trivial part is that what is better or worse depends a lot on the circumstances.


There's a ton of cynicism here with very little substance. Perhaps over generalizing developers; many of whom do appreciate open source?


You can't buy groceries or pay your mortgage with appreciation.


Appreciation comes in many forms, like how many people have developed a new-found "appreciation" for the New York Times or the ACLU of late.


I think you're discounting donations to the ACLU that have only happened as of late because of an orange catalyst.


It seems like you two are saying the same thing.


Yeah: Sometimes it takes Agent Orange to strip away all the confusion and lay bare what the things worth protecting are.


"I hope to retire next year to do open source full time with money made from closed source."

Sounds like pulling the ladder up afterward. Perhaps the niche you plan to target with FOSS would have supported a fresh graduate's new career. But your work may condition that market to expect it for free.


So, he shouldn't do something he enjoys doing for free, because someone else somewhere might eventually want to make money off the same thing? That doesn't sound right.


Doing it is one thing. Distributing for free is taking it a step further.

If enough people take those extra steps then eventually the value of programming as a skill is diminished for everyone.


I disagree. There will always be something extra someone needs programmed that they are willing to hire someone for.

By the way, your argument attempts to invalidate vast majority of FOSS out there.


Nice pragmatic summary. Bravo.


> Patreon is awesome,...

Is it? AFAICT, they take a 5% cut in exchange for setting up recurring billing. (I'll ignore any ethical questions about automatic recurring billing; I likely get free satellite radio because someone else forgot to cancel it.) Are there any stats about how readership/viewership translates into payment that are more informative than the PR department's "Average Pledge" of $5?


If that concerns you, gratipay might be up your alley.

> The most obvious difference between Gratipay and Patreon is that we don’t skim 5% off the top. Instead, we’re funded on our own platform using a pay-what-you-want model, exactly the same as any other user of our service. Gratipay is funded on Gratipay.

https://gratipay.news/how-is-gratipay-different-from-patreon...


> AFAICT, they take a 5% cut in exchange for setting up recurring billing.

Sort of. That recurrence can be time based (monthly), but canalso be based on work produced. It allows people to set the amount they way to pay, and for payment of work produces, it allows you to set a monthly cap. Most importantly (in my opinion), once you've got a patreon patron account it allows you to easily track and change what you decide to fund, and easily fund new things without setting up card/paypal/bitcoin payment individually.

When I signed up for Patreon (for a webcomic, IIRC), I actually went looking for and found a few other things I consumed to add. I've suggested they set up and added a few people from the HFY subreddit for some of the more prolific authors. I actually find it rather annoying when some people/groups specifically decide to not use Patreon in lieu of Paypal or something less automated. That friction has actually kept me from donating a few times, because the friction is real. Reducing that friction can lead to a lot more donations IMO.


Wow. I had assumed (without looking) that Patreon took more than 5%. 5% is indeed awesome in my books. How much would it cost me to set that up myself (and deal with charge backs, etc, etc)? Specifically the cost of lost opportunity to do the work (and maintenance) necessary. 5% is "shut up and take my money" level for me. Having said that, you have a point about the automatic recurring billing thing...


Well, it's 5% + processor fees. The 5% is purely Patreon's cut, but personally I think it's well worth it for a lot of people. I know there's at least few hundred dollars of my money in various people's accounts over the last couple years that wouldn't be there without Patreon.


> Well, it's 5% + processor fees.

Exactly. The total cost is probably over 8% (pretax), which is more than those sketchy check-cashing places charge. It might be worth it if the adoption rate is high enough, but does anyone have personal anecdotes or (better) independent statistics on Patreon adoption and income?


To be honest, I thought it would be in the 20% range, so 5% + processing fee sounds pretty good in comparison. From the perspective of funding software, I'm mostly thinking about indy game devs. Game portals can take up to 50% of the sale price.

From a business perspective, the processing fee is (I guess) incurred by the payee, so that's unfortunate, but I have difficulty thinking of a reasonable way to avoid that in any case. The 5% service charge that Patreon takes should be be an expense for you, as a business. Then you have to pay for marketing and advertising, so you're not going to walk away with more than 80% of the payment no matter what you do. At least you have the opportunity to directly balance the marketing/sales effort against the income (which is not something you can do if you are trying to sell through an existing sales channel -- they will advertise as much as they want and you will either like it or lump it). Patreon also gives a limited form of marketing by featuring projects in the newsletters they do, so that's a small benefit as well.

As a remote contractor that works in another country, I'm fairly well acquainted with bank charges :-P Most banks will happily charge you 6% for foreign exchange, and then still charge you $20 (plus a percentage) to transfer funds to another bank. It is (information) highway robbery. Like I said, 5% to actually provide a valuable service is refreshing.

P.S. For anyone in Japan, funnel all your money through a personal account in Shin Sei bank. You can thank me later. Not associated with the bank in any way, other than to be enjoying reasonably priced ForEx.

Edit: To answer your question, Tarn Adams has been sustaining about $7K a month from Patreon. He is likely an outlier, though.


Would you prefer Patreon if their rate was 3%?


I think you misread my comment, since I already prefer Patreon.

I wasn't making some obtuse statement about how money from me was being skimmed, I was commenting how the way they eased the friction of donating has caused me to done monthly to a lot more projects than I normally would, and that's added up over the years to a few hundred dollars of mine making its way to the accounts of people or groups whose services I use or works I consume, and that's a good thing.

Would I be happier if Patreon took a smaller cut? I guess. I don't see 5% at the low-level donations as very significant, given the platform Patreon supplies. Maybe it would be better if they changed to a 4% fee if you were getting over $500/mo in donations, and to 3% if you were getting over $2000/mo. Then again, when you start making that much per month, chances are Patreon is likely working out very well for you, and that 5% might be seen as well worth it?

In the end, as a consumer, it doesn't really matter to me. I'm bullish on the model of Patreon, and I think Patreon seems to execute fairly well on that model from what I can tell. I wouldn't mind if a few producers used Gratipay and I set that up too. I can deal with maybe 2-3 donation aggregators, I just don't want to deal with 10+ individual donation systems.


I prefer to give small sums to a wider range of people, and if each of them collected the money directly via Stripe, the per-transaction fee would also already make up 5 % or higher. With patreon, it only is deducted once.


Would you donate a recurring amount monthly to open-source software development?

Imagine a site that auto-bills your credit card every month. You can specify projects you want to support, or just support a portfolio of projects that someone else has devised.

If so, please fill out this quick survey. I'm curious if this idea has legs:

https://docs.google.com/forms/d/e/1FAIpQLSfXIqUqsfDoUplWeWYs...


Doesn't Patreon fit this already?

e.g. for one random example: https://www.patreon.com/monkey2


You mean like this: https://salt.bountysource.com/

Obviously, there are also lots of open source people earning income from Patreon and the traditional bountysource too - but salt is the Bountysource clone of Patreon, specifically for OSS.


The idea is a good one. But see how none of the projects break $3k/month? And how drastically it drops down to $500? There just isn't that much money moving in that model. Period.

The Open Collective project mentioned in your sibling looks even nicer, but tops out at $5k/year.


It's not the model, it's the audience size.

These guys are making $24k per month on Patreon, for example: https://www.patreon.com/Kurzgesagt - I would guess it's just a function of their audience size and the amount of work they put into fundraising - actually asking people to contribute.

ElementaryOS have actually been working at this a little bit (unlike almost all other open source projects) - and they've built up to $1k a month on Patreon: https://www.patreon.com/elementary - plus ~$200 a month on salt/bountysource, plus direct donations, etc...


Check out Open Collective https://opencollective.com. They use the sort of model that you're describing.


This has been done to death, with Patreon being the most famous example.

The problem of this model is that it's still basically B2C, a sort of charity for free work. What we need is enabling more B2B, i.e. a flow of invoices for some nominal "premium" work.


Yes! This is basically what we've concluded at Gratipay (née Gittip). Existing crowdfunding solutions are consumer-grade, and open source needs business-grade crowdfunding, as it were. We're working on it! :)


You mean flattr?


I agree this type of plea isn't sustainable, but going to work for MathWorks is just a ridiculous suggestion. I can't believe you even seriously suggested it. There's such a giant conflict of interest you might as well suggest RMS go work for one of the remaining legacy UNIX vendors.


I'm sure Apple or Microsoft are looking for people with exactly his domain knowledge. Just imagine RMS as the Keynote Speaker for the next WWDC


Funny you should say that, as a joke i put a flyer on rms' door one day that read: proudly funded by apple. He was not amused :)


Obviously he/she would have to stop contributing to Octave.


Working there, though, might preclude further work on Octave.


I'm guessing that when you're the BDFL of Octave you can negotiate a compromise.


The Mathworks is not our friend. They view Octave with disdain, and our entire purpose for working on Octave is to make sure people don't have to use Matlab.

I think jwe would be miserable working at TMW. It would be the ultimate insult to his life's work.


Why such acidity towards Mathworks? I've use Matlab decades ago with someone elses licensing so I don't really know the details.

"our entire purpose for working on Octave is to make sure people don't have to use Matlab."

That's a really negative way to put it. Isn't Scilab a viable Matlab alternative as well. Are you hoping to block people from using that as well? What about Intel's fortan compiler...

The point is, it's much more approachable to describe things in positive terms rather than negative when all you are essentially doing is offering a product in a not-ruled-by-monopoly market.


The reason for the acidity is quite simple: we believe non-free software like Matlab to be unethical. You should not be restricted by a license manager, there should not be any restrictions on who you can share your software with (Matlab's license says you can only share Matlab's own source code with other Matlab users), you should have complete access to the source code (Matlab hides a lot of juicy secrets in its hidden source code, such as the exact algorithm of its backslash operator, or virtually everything interesting in its image processing package). You deserve better than this. You deserve free software.

This is why Octave is part of GNU, and why it's GPLed.

As for Scilab, they don't have quite the same aim as Octave. They don't aim to implement the same language so you can take your Matlab scripts away from Matlab, without change. They have a compatibility layer that does it partly, but there is still a need for implementing the same language. Imagine if the only way to run Javascript or Python was to sign away your rights to some company.

Freemat is a bit more comparable in aim to Octave, but it has a smaller contributor pool.


>This is why Octave is part of GNU, and why it's GPLed.

And why NumPy/SciPy will overtake Octave, if it hasn't already.


I wish them all the best. Numpy is free software. As long as people stop using Matlab and non-free software to get do scientific computing, I don't care if they use Octave or Numpy or R or Julia. We're all on team free software. Julia and R are also GPLed, and they seem to be doing well.

As long as people need to run Matlab scripts without Matlab, there will be a need for Octave.


Julia isn't GPL, it's MIT. Currently includes a few GPL libraries in the default distribution which makes the overall thing GPL, but that won't be the case for much longer. You can leave those libraries out for a no-GPL build.


Point is, Julia is by default GPLed and the GPL is not The Cancer That Is Killing Julia (or Octave or R). Without the GPL, Julia doesn't have FFTW, Suitesparse, or GMP.


GPL is a major issue for a number of commercial users. It prevents us from shipping MKL as an option, for example.

A lot of people can get by just fine without FFTW or SuiteSparse (they aren't dependencies of everything written in the language, so don't belong in the standard library), and GMP is LGPL so not quite as problematic. But people do want to use a programming language to deploy applications, including proprietary commercial ones. Doing that in R or Octave isn't really possible because of the GPL, and that hurts the prospects of commercial backing (as does being pretty bad languages for developing software, but that's a separate matter).


Perhaps it would be better to put it as "is to make sure people who are already stuck with Matlab scripts don't have to deal with Mathworks".

Scilab is already open source, and GCC has a Fortran backend, so I don't see how those are relevant


No way.

I don't know what the relationship between MathWorks and Octave is, but probably the last thing MathWorks wants to do is give the creator their biggest competitor access to their trade secrets and proprietary information.


Maybe as humans we should be thinking bigger than things like secrets


Well, maybe if you convince the MathWorks guys of that they'll hire this dude, but otherwise he's not going to get to do both things.


Although Patreon is nice, it seems to be more focused on artists and the like. A similar project focused on Open Source Software is Bounty Source Salt (https://salt.bountysource.com/)


While I do agree, an unrelated philosophy question:

Is a piece of software not art? Are its creator/creators not artists, expressing their vision?


> Is a piece of software not art? Are its creator/creators not artists, expressing their vision?

Indeed this can happen (though not always - I, for example would not describe, say, some business applications as "art"). But nevertheless the markets for art and software are IMHO rather different, so I would be cautious when lumping these two markets together.


Does it have to be scalable or ongoing for a situation like this one? I kicked in $100 simply to acknowledge past work. I don't care if the person involved takes the money, spends it on a nice vacation and never touches Octave again.


You might want to check with the Julia folks. They now have a company (Julia Computing) backing the project. I don't know if they are hiring right now, and if so, whether you'd be a good fit, but it couldn't hurt to ask.

Might be a better alternative to working for MathWorks! Julia is an open source project with many brilliant developers and mathematicians contributing.

http://juliacomputing.com/

I don't see a 'jobs' page, but CEO Viral Shah (and everyone else, but Viral is who I know) is on twitter, and is a great guy.

https://twitter.com/Viral_B_Shah


This is great (and practical) advice. I hope the Octave BDFL reads it. Continuum Analytics might be another good fit, given a decent amount of ML work coming out of academia is in the form of a matlab file.

I'm not sure if by 'partner' they mean 'people we give money/people who give us money', but it costs nothing to ask: https://www.continuum.io/partners


There's something fundamentally broken about the open-source model when you can invest so much time and npt get any sort of economic return. This seems like a huge limiting factor on open-source development. As I've pointed out in discussions on copyright issues, artists value copyright because the patronage model sucked - you're essentially dependent on people's charity and having to beg just to maintain basic economic security is inefficient, demoralizing, and unreliable.

I think services like Patreon etc. are quite worthy but they're also dysfunctional. Nobody has solved the micro-payment problem yet and it seems like people have just given up trying. In a saner world this person would be rewarded for the enormous technical contribution with a reliable pension of some sort to remove the distraction of financial anxiety.


That is because open source IS NOT an bussines model. is a distribution model (of code, instead of binary).

You need to plug the bussines model to sourcecode, similar how you need to plug one to binary.

Unfortunately, give source is in a lot of ways give the MOST SIGNIFICANT VALUABLE OUTPUT a programmer do.


Most insightful comment in this mishmash.

I'll say it again for future searchers of wisdom: Open Source is not a Business Model.


Yeah yeah but that doesn't solve the problem of programmers needing to eat and pay rent, so I guess the answer is why not? If people can't afford to to invest time in writing OSS even if it's widely respected and reused, then that limits the development of open source. I mean here's this guy with a ~25 year body of work which everyone agrees to be of pretty high quality and he's broke. That ain't right.

Saying 'it's not a business model' is basically equivalent to saying 'I don't have to worry about money.'


Not at all. Closed source isn't a business model either.

A business model is where you figure out who will give you money in exchange for value delivered. If you need money, you probably should think about that. And then you'll need to spend some time on execution of that plan.

I get that programmers just want to make things and have people use them. I feel that too. But pretending that "open source" is a business model is essentially just denying economic reality. It's the same thing when young artists grumble about having to earn a living somehow when they'd rather just be creating art.

People can definitely make a living with open-source software. But it doesn't happen by magic, any more than it does with closed-source software. It takes thought and work. That work is grubby and mundane and a bit banal, but it has to get done.


Closed source is a business model because the customer wants what your software does but can't see how it's achieved, so they pay you money to buy a license instead of just re-implementing it.


No.

I have a ton of closed-source software in my projects folder. That's not a business model. Neither is open-source software, where I take some of that stuff and throw it up on GitHub.

A business model is where I repeatably create value for others and receive money in exchange. A modern software company can do that in a variety of ways, including selling training, documentation, support, custom features, consulting, services, and licensing.

Both open- and closed-source companies do that. They have business models. But open source on its own is not a business model, and neither is closed source.

And what's definitely not a business model is releasing something as open source and hoping that somebody gives me money. Businesses don't just happen. Somebody has to build them.


The difference with open source, is that I can take you out of business with the code you wrote yourself.


Sure, there are differences, but I'm not sure that's one of them. Can you name some companies where that has happened? I'm pretty sure I can name a lot more where it hasn't.


I don't keep track of it.

It is however a possibility.


The biggest counter-example is RedHat.


You mean CentOS and Unbreakable Enterprise Kernel ?


Repetition of your assertions isn't an argument.

I make some software. You like what it does and want to use it. I ask for money. If the price is right you give me cash and I give you an executable file.

How is that not a business model?

And what's definitely not a business model is releasing something as open source and hoping that somebody gives me money. Businesses don't just happen. Somebody has to build them.

I never claimed open source was a business model. I said the inability to easily monetize OSS is a limiting factor on its development because people need to eat and pay rent.


If you are now saying that open source is not a business model, then we agree. As far as I could tell, you were arguing vigorously that it was.

> I make some software. You like what it does and want to use it. I ask for money. If the price is right you give me cash and I give you an executable file. How is that not a business model?

That business model is selling executables that let your customers do some unspecified thing they care about. I have paid money to people who give me executables for both open- and closed-source software, so that description applies to both.

Making and releasing open-source software to the public, though, is not a business model. Which is why the Octave developer is struggling.

> I said the inability to easily monetize OSS is a limiting factor on its development because people need to eat and pay rent.

Right. But that's not specific to open-source software. Needing to eat, etc, is a limiting factor on making all software. And making almost anything else.


> Saying 'it's not a business model' is basically equivalent to saying 'I don't have to worry about money.'

No, Sir. I think the point flew past you. Saying "it's not a business model" means that you need to worry about how to sustain yourself from the get-go if you want to go where ever pleases you, open or closed source.


Obviously, but given the low prospect of getting paid for doing open source work on it will be performed primarily by those who don't need a return on the time invested.


I totally agree with this analysis.


I apologize for not articulating it more clearly in the first place. I meant to contribute an off-the-cuff economic sketch, not start a semantic argument over corporate terms of art.


> There's something fundamentally broken about the open-source model when you can invest so much time and npt get any sort of economic return. This seems like a huge limiting factor on open-source development.

The problem we have is that OSS creators don't realize, and often willfully ignore, the fact that nothing about opensource says you can't charge for delivering value to people. Sure, their ability to copy it themselves and do stuff might reduce your leverage, but I can almost promise you that a company which generates $10,000,000/year of revenue and relies on your software, will throw money at you if you ask. Especially if you say something like "You know, since you're not paying me for this, I can totally stop maintaining it at any point and then you'll be fucked because your business relies on this".

But many engineers don't like to be business people. So here we all are.

It's really not that hard: Do people's livelihoods and businesses rely on your work? Are you improving people's lives? Charge.

Doing it for fun and no interest in making a business? That's fine, but don't expect to make a living off of a thing you're not charging money for.


I think this is maybe a reaction to the way AT&T made Unix so expensive and inaccessible to hackers for so long that the idea of charging $$$ for something whose marginal cost of production was effectively $0 that the idea of charging money was morally repulsive to a lot of key figures in the movement.

In a way OSS seems like the sort of thing that would have worked great in some hypothetical enlightened communist system that didn't suppress liberty.


> AT&T made Unix so expensive and inaccessible to hacker

Actually you got it wrong, it was precisely because AT&T could not legally charge the prices other vendors were selling their OSes, that UNIX got adopted by universities and small business, thus spreading its use in the industry.

The ones charging lots of money for UNIX clones were Sun, HP, Digital, HP, ...


I thought sun was in partnership with AT&T when system V came out, and https://en.wikipedia.org/wiki/History_of_Unix appears to support that idea, but my first-hand memories have dimmed with time (cause it's not something I care about that much) and you may well be right.

I do remember, um, liberating an overlooked copy of system V/386 on 5.25" floppies that I found in a storage cupboard when I worked at PC Magazine in 1992 :-)


If you have some time to refresh memory.

"A Narrative History of BSD by Dr. Kirk McKusick"

https://www.youtube.com/watch?v=ds77e3aO9nA

"Unix came into many CS departments largely because it was the only powerful interactive system that could run on the sort of hardware (PDP-11s) that universities could afford in the mid '70s. In addition, Unix itself was also very inexpensive. Since source code was provided, it was a system that could be shaped to the requirements of a particular installation."

http://www.princeton.edu/~hos/frs122/unixhist/chen.htm


Thanks, this looks enjoyable and informative.


Sure, marginal cost is $0, I agree. But building and maintaning huge swathes of million (billion?) dollar infrastructures/architectures for enterprises for free feels somehow more wrong than building a small business that supports a few maintainers' families.

Or as a famous talk once said: fuck you, pay me.

https://creativemornings.com/talks/mike-monteiro--2/1


Indeed. I'm just making a guess about the motivations of some OSS leaders, and a shallow one at that.


You're entirely correct here. These OSS creators have leverage but are either unaware or unwilling to take advantage of their advantageous position.


Is there no middle ground between OSS maintainers/contributors going hungry and them holding businesses hostage for ransom?


Indeed, there is: market segmentation.


To be honest I hope there is middle ground, I just cannot see it. I want OSSc creators to be well compensated. These people are providing the world with an incredible service.


Entire businesses like Red Hat & Suse are built on the middle ground. There is room in the market for OSS creators to be compensated for their work.


True, but not everyone wants to be part of a business. What if there were some umbrella nonprofit that collected funds for open source development and redistributed to various projects in approximate proportion to their deployment in production, as well as seed or micro-capital to encourage new contributions?


You mean like http://www.numfocus.org ? That's not quite how their fiscal sponsorship agreements work, but close enough.


Did not know about this. Thanks for sharing, this is very encouraging to see.


I may have been misunderstanding the whole thing, but wasn't the FSF supposed to kind of do that (among other things, but still)?


I'm not sure, I haven't followed the topic closely enough in recent years to form an opinion.


Have you actually tried this?


Similar. I put out free technical blogs and charge for technical books. For a demographic that's allergic to paying, engineers are really profitable.

An extra $30k/year is pretty nice for a sidehustle I think. Mostly on track to do double that this year.

And of course, if a company asks for consulting, I charge. But I'm not focusing on consulting these days.

However a company is paying me to develop tech material for them as a content marketing strategy. At $600/article it's not a bad gig and I'm probably undercharging.

So .. uh .. the answer to your question is Yes, sortof.

You can read more about it here: https://swizec.com/blog/learned-6x-income-4-years/swizec/734...


Fully agree regarding your points about micro payments. Patronage, monopoly-priced copyright, and advertising have all proven to have bad side-effects.

IMO, the market may be acting rationally here. I have tried Octave several times, and always moved on with little regret. Genuine Matlab is tolerable for some prototyping tasks. A slow clone of Matlab has little value outside of academic environments where Matlab compatibility is required. Programmers use their favorite language, and others use a spreadsheet.


> because the patronage model sucked - you're essentially dependent on people's charity

Also with copyright you are essentially dependent on people's willingness to pay.


Totally true but it's far easier to negotiate when you have a legally tangible asset for trade. Like if you express interest in buying my painting we might have different ideas on the price but there's no question about the basic idea that it could have a commercial value. If we lived in an earlier era and you commission a portrait of yourself or so it was quite questionable whether such things were even a commercial item.

Now digital distribution has upended the copyright model because you no longer need the resources of a publisher to distribute your work (good) but as creative work proliferates it's as hard as ever to polish and market it successfully and more difficult than it was to monetize (bad).

Of course it depends what you're doing. Some people make a fortune just yakking opinions into a webcam on YouTube or suchlike, and that's working out great for many many people. It's my bad luck that my tastes are a long way outside the mainstream and I'm not so brilliant that I can just crank out some commercial stuff on the side when I want cash.


This is one reason, I look at contributing to open source as a way of building reusable tools I want to use.(in service of some other goal). rather than trying to contributing to them as a goal in and of itself. The most progress i seem to make are in projects of the first kind. As long as I can't justify it(time on OSS) in service to making money on some other goal, I can't work on OSS at all.


I always thought that a good open-source business model could be to develop a new version of some software and then ask for $X amount (related to how much effort it took to get to the version) to release the code. That's a win-win situation.


I see what you're saying, but I can't feel sorry for people in this position.

It's a no brainer that giving away a product for free won't be a sustainable way to earn a living. It's not like there's a big mystery around how to make money off of software.


You're right, but I would like to find a solution to that problem. If a person's skillset is in programming and not business administration, I want to see them rewarded for the value they create without their being reduced to the indignity of begging.

Essentially I'm proposing private-sector communism; let's find a way to raise money from people who depend on open source, and then find a reasonably good way for figuring out who to throw some at. It doesn't have to be perfectly proportional to the popularity of what they're doing, the goal is reduce financial insecurity rather than have a Great Accounting.


> Nobody has solved the micro-payment problem yet

what is this problem?


I assume the parent is referring to the problem where it's prohibitively expensive (from a payment processing perspective) to receive lots of small, sub-dollar payments.

Also there's a lot of friction if you're relying on your users to pull out their credit card info for such a small amount.


Actually no, sorry for the lack of clarity. I was thinking more of the administrative problem for the consumer.

Like, I read a lot of news, and every news outlet I read would like me to subscribe. But while I do have couple of subscriptions, and if I was a bit better off I'd throw down for a few more, but if I were to buy a subscription to every outlet that I read 1 or more articles a month from then not only would it get expensive, it would generate an annoyingly large number of renewable transactions. I don't want 30 different subscriptions, especially when I might read a publication frequently for several months and then take a break from it for a similar period. I really like the journalism at The Atlantic for example but I haven't gone to their website for maybe 6 months; in this febrile political climate I've been reading more instant news and a bit less analysis/longitudinal work.

As you say I don't much care to pull out the credit card for a small amount, but I'll make smallish one-off purchases when I find something cool. What I'd like would be that I pay some fixed amount like $25/month and someone else takes care of distributing it approximately proportionate to where I spent my attention.

When book/magazine stores were more popular I used to buy a lot of magazines because I could go to one place and get a wide variety but not necessarily always the same ones every month. But it was only one or two financial transactions with a single vendor, the magazine store. This was more expensive than subscriptions, but more flexible plus I didn't get nearly as much junk mail. I hate marketing and when you buy magazine subscriptions you get swamped with it.


That part has been fixed by https://flattr.com/ You either prepay or setup a periodic payment and then just click the flattr badges whenever you want. They get funded from your flattr pool. No need for the card every time.

Unfortunately flattr didn't really take off.


> Unfortunately flattr didn't really take off.

So it is still not fixed.


The problem as stated was: "it's prohibitively expensive (from a payment processing perspective) to receive lots of small, sub-dollar payments", and "a lot of friction if you're relying on your users to pull out their credit card info for such a small amount".

These are solved. User adoption is a completely different issue that applies to almost all donation systems. Even if nobody uses X, it doesn't mean X doesn't exits.


You missed the parent's point which is that just because a product exists, doesn't mean a the problem it addresses is solved in practice. Even a very good solution needs to be known about, readily available, priced correctly, and not suppressed by other forces, as well as extant.


$5,000 (will be) donated.

Tried to use PayPal. A Top Up to my PayPal account via Instant Bank Transfer worked fine, but when I tried to use the money by making a transfer to The Octave Guy, PayPal said my account had been frozen :-(

I have emailed the author and requested bank details in order to make a regular bank transfer instead.


I think you will only need to provide additional verification for PayPal and you'll be good to go. They need to do it because of anti money laundering laws - at least here in Europe, but it's probably similar in US.


When they catch big amount of money transfer for new accounts, they disable in order to secure it. With some verification -probably id, pasaport - they will send the money eventually. So I suggest to verify Paypal account which will be faster probably take a day.


Holy shit. You really did do it. Wow, thanks!


WOW!


I beseech every Andrew Ngs ML course student to contribute a little. I just did.


Thanks for reminding about Andrew's course. Had to contribute after that :)


I was on the edge of donating or not donating and your comment was just the tiny push that got me to give a little money.

Peer pressure works, apparently, at least sometimes.


This. I'm taking the class now. Octave is invaluable and I wouldn't be able to complete the course without it. I've donated and agree that anyone that takes the course to contribute too.


Is it just my feeling/bias or projects under the GNU umbrella suffer the problem of not putting the developers at the center of the project enough? One of the things you should get back from doing something like Octave, is to be recognized at least in certain parts of the software community. When an OSS project is a GNU project maybe it is less likely to get the deserved credits, that later may lead to positions, donations, or whatever, compared to having a project on Github, regularly writing to a blog, and so forth. So, without trying to ignore the fundamental problem of a lot of work important for the society that does not compensates the developers as it should, maybe OSS developers need to get smart and try to put themselves at the center of their projects in order to get the visibility that later may save their careers.


I agree that being under the GNU isn't necessarily good for projects. Look at https://savannah.gnu.org/bugs/?group=octave for example. Many of these patches have in fact been merged, but nobody really knows how to use this bug tracker. Actually editing the wiki requires asking on IRC. See here: https://octave.sourceforge.io/

Octave should have a steady stream of students who have been made to use Matlab trying to use it instead. If the barriers were lower these people might get hooked on contributing. As it is, I imagine they take one look and think "old and busted". I don't think it's necessary to use Github, but the development tools should be something people can use frictionlessly, which isn't the case now.


At the risk of comparing apples to boulder sized oranges, it's a shame considering Wolfram supports hundreds of employees off of Mathematica alone (something that wows my mind - in a good way - every time I'm reminded of it). I hope this drive works but also the long term prospects.


Sometimes I dream that if I ever become very wealthy (either because of something I created or because I won the lottery) I would go around and donate some nice money to these under-appreciated developers/organizations/projects.

I mean, if I had billions, wouldn't it be feasible to spend say 1M or even 0.5M to say, 100 projects? 200 maybe?

Does this not happen or do we just not hear about it if it ever happens?


Most people would rather save 1,000 people from Malaria in Africa than give 1 white college educated man living in one of the richest counties on earth a year's salary to write code from his home office.

(I am sure it happens, but I am sure that it is pretty low on the donation list)


If anyone's interested, here's a good article about how one billionaire decided to spend his money - on better science.

https://www.wired.com/2017/01/john-arnold-waging-war-on-bad-...


For what it's worth, http://www.givewell.org/international/technical/programs/ins... estimates about $3000 per life saved (which I will grant is not the same thing as "malaria case prevented"). So a year's salary for a good developer would be on the order of 30-150 lives saved, depending on market and definition of "good"...

Agreed with your overall point, though.


The cost of one Matlab license could save a human life, by such accounting.


Or every time you buy a new car instead of a used car, you kill 1-2 starving people somewhere.

Such math is hard...


Well yeah, I agree. I didn't mean to say I wouldn't ever donate or use my (imaginary) millions to save lives as well.

I was just daydreaming about something that I would like to do if I could.

In that sense I would also like to donate a few millions to Watsi for example. (I have already made a few donations there, but nothing close to millions) or to some institution in my own country.


It does happen. eg: https://freebsdfoundation.blogspot.co.uk/2014/11/freebsd-fou...

There are others too. :)


If you think GNU Octave has made a difference in your life or other's, please take a moment to continue funding his efforts. http://jweaton.org/?page_id=48


you can also donate via the Free software foundation, I'm not sure what the author prefers, but the FSF donation can most likely be matched 100% if your company participates in a matching program.

Hopefully, adding a "for 'GNU Octave' project" note should be enough.


There's a specific donation page for Octave.

https://my.fsf.org/donate/working-together/octave

Using the regular donation page with a note will just complicate the lives of the FSF staff.


Thanks for posting this link davexunit. Just donated $100. I used Octave in undergrad for some engineering classes. This doesn't solve the long term problem for the author but I hope it provides some temporary relief.


While recruiting at UT Austin petroleum engineering school recently, I was impressed how embedded Matlab has become there. The students use Matlab for big semester projects and everyday scratchpad computation. I believe it's a required skill. I don't know the licensing arrangement Mathworks made with them. It's common for software companies to donate licenses to engineering and science departments. It's a loss leader, and presumably lots of the students will pull Matlab licenses into their employers later. But Matlab is so ubiquitous there, and so integrated into the curriculum, it could be that money did change hands.

I wonder if there's an opening along those line for a revenue stream for Octave?


Iirc student licenses are ~$100, and full licenses are ~$2500, with $1000-$1500 for additional libraries.

I wonder if schools pay $0, $100, or somewhere around $300-$500.


My university had only student licenses.


This is probably just wishful thinking, but I wish I had enough money to buy a decently large property and just let people stay there (everything free, including food/stay/healthcare etc) and work on projects like these, for as long as they want. Tech has so many rich people, I dunno why this can't be done. Even if it is just 100 high caliber people staying/working in such a community, they can generate immense value for all of humanity.


I rather just get paid to buy those things at home and work from there on OSS projects. Everyone has a different taste, but why not just sponsor projects with money so the author(s) can buy food/stay/healthcare themselves? Or at least fund towards that?


That's a nice idea. But Open Source authors have lives too. Friends, Family, etc. as much as I'd like to live rent free, I wouldn't want to move into a "camp" for Open Source authors.


If someone has enough money, they can lease/buy an entire building (say a 50 apt building in NYC, Seattle or wherever) and let people live in those apartments (for $1/month in rent or something like that). This doesn't need to be a camp or tents in some remote place. This way people can live in those apartments with their families. In cities like NYC, rent is most normal people's biggest expense.

All it takes is just one rich person (there are many in tech) who believes in the idea (or some variation of it) and it can be done.

That said, I was mostly thinking of young/single people when I wrote it. People with kids have more challenges


I'm very hopeful that YC's city-building efforts (if they come to fruition) will include something like this. And it's something I plan to do when I get land in the next decade (not the food/healthcare part but at least a place to stay which IMO is the biggest expense).


It is interesting to contrast this with esr's recent announcement "In which, alas, I must rattle a tin cup" [1].

[1] http://esr.ibiblio.org/?p=7348#more-7348


I was tempted to post the same thing. ESR points fingers, talks about how bloody important he is, and scoffs at the idea of getting a job like the rest of us. JWE faces facts, asks people to make their own judgment, and talks of getting a job in a tone that isn't snobbish.


Some ideas for OP:

- Evangelize Octave in education, especially K-12. Community for Octave is rather small and K-12 education has lots of potential users and money.

- Apply for NSF grants

- Create specialized plugins that people might want to pay for commercial usage. Think of it as your consulting gig.

- Write book not on just using Octave but something more generic like fun with math that can have larger audience.

- Create an edition like Octave Gold for $5 which has zero feature differences but has some cool logo or chrome or fun cosmetic thing. You will be surprised how many people want to pay for it.


There a lot of variations of octave gold which can be applied to the product. I have not used octave and don't know whether the following applies to it - like a "tip from the author" in the GUI, custom themes etc.


I like the idea of Octave Gold. I would totally buy something like that.


For those of us not in the know, GNU Octave is, according to Wikipedia, "software featuring a high-level programming language, primarily intended for numerical computations."


More specifically, it's designed to support as much as possible of MATLAB's syntax to provide an open-source alternative to MATLAB.


Meanwhile, MathWorks annual revenue is over $800 million.


Honest question: what exactly do you hope to put light on with that comparison? I don't think the developer in question has ever claimed that he is a fantastic businessman: quite the contrary, he is (apparently) a very talented developer who is seeking funding to continue a project which others may find useful.

I understand that the current economic system in the US greatly favors forming a business around a good idea/software, but we shouldn't be closed to other models of software development as well.


Octave is a clone of MATLAB, which is MathWorks' flagship product. They have identical programming languages and similar libraries. MATLAB's initial release was in 1984, and Octave's was in 1988. So there is a direct comparison in terms of product features, target market and development period. A critical difference is that one is closed-source commercial product and the other is an open source GNU project. The huge difference in success makes for an interesting comparison of these two models of software development. It reminds me of an essay by an a16z partner about "Why there will never be another Red Hat" [1]

[1] https://techcrunch.com/2014/02/13/please-dont-tell-me-you-wa...


"Similar libraries"? Hardly. There is no comparison with the toolboxes, which is where most of the domain-specific value lies with MathWorks.


Some toolboxes are quite comparable. The signal processing, image, and control packages in Octave, for example.


The GP probably meant that people are more than willing to pay for Matlab but they don't realize that Octave needs funding too, and possibly that if you use Octave it's probably worth around the price of a Matlab license, on average, to you.


Are there any people willing to pay for Matlab? It's usually purchased by departments, not end users.


Why can't a company like google just hire and let him work octave like 20% of the time. They can afford it.


Better yet, some consortium of universities. I've found that Matlab usage is probably like >90% academics.

Wouldn't paying for contributions to Octave devs not save them money versus Matlab licenses?


Academic Matlab licenses are cheap. Hook 'em young, and they pay once they're out.


So Google's competitors benefit at Google's expense? This is a classical case of tragedy of the commons.


It seems that octave has been overtaken (in mindshare) by python/numpy. Why is that the case?


Matlab has always been a quirky language. It has good libraries for common math operations, good visualization tools, good documentation, and toolboxes available for many special tasks. There are a number of common pitfalls, with well-known workarounds, that cannot be fixed without breaking backwards compatibility. The performance of a "for loop" is usually dog slow (some special cases were optimized recently). You often spend hours figuring out how to vectorize your code so it runs decently fast. OOP and other techniques have been bolted on in a workable but unusual way, and they are not widely used. Licensing costs add up.

People looking for a free Matlab replacement often gravitate to a full replacement, rather than a clone. In the past, this meant learning something like C++, a significant hurdle to migration.

Python is generally seen as a much better general-purpose language than Matlab. It is building a much larger developer community. It is no harder to learn than Matlab, and it supports similar interactive development. Tools like numpy start adding easy support for Matlab's core strengths. Python is free, even in commercial deployments.

Matlab's primary competitor used to be Excel. Python is emerging as a very real threat. Outside of the core Matlab user base, preference for Python (or Go or ...) is building fast.


> The performance of a "for loop" is usually dog slow (some special cases were optimized recently). You often spend hours figuring out how to vectorize your code so it runs decently fast.

A similar story for Python and NumPy on this point, mitigated by NumPy's elegant broadcasting rules. Agree with everything else!


>A similar story for Python and NumPy on this point

Not as similar. When I was in grad school and encountered NumPy, I ported over my Matlab code to NumPy. It was hard to vectorize and so I had an explicit for loop (in both code bases).

NumPy ran 7x faster.

Did not really drill down to whether it was the loop itself or the operation in it, but I suspect it was the loop itself.

Matlab really has a slow for loop.


Matlab/Octave is an array programming language. You are supposed to use array and matrix operations. If you are using a for loop you are writing Matlab code wrong.


I think you're missing the point of the thread.

Obviously, you should vectorize your code and avoid explicit loops. In both Octave and NumPy

However, what the thread is pointing out is that if you do have explicit for loops, Octave is much slower than NumPy.

For the code I was writing, I had trouble vectorizing a particular piece of code. I'm sure if I spent many extra hours, I'd figure out some way. But why should I when it's 7x faster in NumPy without vectorizing?

And whatever way I would discover for vectorizing it in Octave would likely work for NumPy as well. It'll be a rare exception that NumPy is slower than Octave.

For me, the only reason to use Octave is if someone hands me Matlab legacy code. For my scientific computation, NumPy/SciPy has always been superior.

Ironically, Octave usage is inherently tied to Matlab's existence. Were Matlab to disappear, Octave would have little use when it comes to developing new code. I cannot think of a good reason for someone new to the field to develop in Octave, other than the need to interface with others who use Matlab.

I know this comment sounds critical, but I'm not anti-Octave. When I first started using it, I was very impressed, and I learned far more about Matlab by using Octave and reading Octave's docs than any docs from Mathworks. As a Matlab clone, it is superb.

It's just that now the alternatives to Octave are superior. Personally, I would like to see development continue for Octave, just because I appreciate it so much as an open source project. But the reality is when I give new young scientists advice, it is almost always "Use NumPy/SciPy".


Did Octave ever have a larger mindshare? It always seemed like the cheapskate's Matlab substitute, but if you know enough Matlab where you might consider a substitute, you probably have a Matlab license already. (Or like me a need to run on an embedded Linux while you work on a python port + a distaste for proprietary software...)

Anyway, my thought on why numpy seems more widespread is simple: efficiency.

Even Matlab code gets rewritten if it needs to be used for something intense, and Matlab has many more optimizations than Octave to get away with sloppy coding. Python+numpy is pretty easy even for a non-programmer to write (at least compared to C++ or whatever a DSP wants you to use) and even sloppily done is generally fast, plus it has a great and large community. But both Matlab and Octave are great (at least if you use octave-forge) for prototyping and doing a lot of domain specific things python/numpy/scipy don't support out of the box. Matlab especially has a lot of neat GUI helper tools. Meanwhile R is over in its own world where if you're doing anything in that domain it's a questionable choice not to take advantage.


The problem with Octave for most of its life was it never had a very good GUI, and that made it hard for university departments to adopt as course software. I know we tried to push Octave in our department, but it just never took off. That, plus the Mathworks offered some pretty good educational pricing.

Octave also never had the span of toolboxes that MATLAB had. With MATLAB, you could always find fairly usable toolboxes that covered most engineering computation needs.

Octave was on par with MATLAB on some fronts, but it rarely exceeded MATLAB capabilities. And it was worse than MATLAB on tooling maturity. People hate The Mathworks for charging an arm and leg for its software, and for breaking backward compatibility, but most people will admit the MATLAB environment is pretty polished and seamless compared to open-source offerings in the same space.

So far no one has mentioned Scilab (http://www.scilab.org/). Scilab is a much a better MATLAB alternative than Octave, though Scilab code is less compatible with MATLAB that Octave code.


There's also FreeMat http://freemat.sourceforge.net/ which at the time had much better Matlab compatibility than Octave, and a much better GUI (comparable to Matlab's circa 2007 or so, which was when I compared them).

And for some reason, it was virtually unknown - Octave is superfamous compated to FreeMat.


Something you didn't mention, which I suspect is a major factor in why promoting FOSS alternatives proves surprisingly difficult in education.

I remember when I was in university students were acutely aware that tools like PhotoShop, Microsoft* and MATLAB were used in businesses. I doubt this has changed.

Even if superior Free options had been available, many of them would still have opted for the "safe" proprietary options because they wanted to be sure they could get work and felt (rightly or wrongly) that it was important they could put the right product names on their resumés.


I can't speak to Matlab/Octave but as for Photoshop, FOSS folks always say use GIMP. But the interface is just so terrible compared to PS and I think they underestimate how important that is. Maybe it's configurable but for example, simple things like alt-tabbing between GIMP and other programs was painful because it opened parts of its interface as separate windows, so you'd alt-tab to your browser, then back to GIMP, but it wouldn't show the artboard, just the tool panels. That's a separate alt-tab. And more generally, it felt like everything in GIMP took two extra clicks than the equivalent PS operation.

Most people are goal-oriented when it comes to using software, not ideological, and they'll go with what gets the job done with the least amount of effort.


What's funny is Gimp used to be single-window, then for some reason they redesigned to multi-window crap, and now they're back to single window (at the cost of ctrl+s -- fine, whatever). Still many UI quirks for sure. I don't know how much it matters for non-trained users though, Photoshop confuses me too on the rare occasion I get to try using it. For professional artists, they're likely using more tools than just "Photoshop for everything", so it's not like they're incapable of learning new UIs even if they suck. (Edit: And generally these days I'd rather advocate for more diversity in tooling, regardless of closed/openness, just to avoid monoliths and monoculture.)

The GIMP-over-Photoshop argument should be because it does something Photoshop doesn't (very possible with its ecosystem of plugins/filters -- for example a "smart remove" plugin was around for quite some time before Adobe made their own and spent who knows how much in marketing/demos for it) or because the artist wants to save money.

Agree that people are goal oriented. OSS that's free-as-in-beer can help drive adoption on account of being free, but ultimately the best OSS succeeds because it's better than its competition in important ways. Pure clones are risky, I'm glad Gimp doesn't try too much to be a clone.


It's not really about being incapable of learning new UIs though - I'm perfectly capable, I just don't want to. Why learn a UI that takes 3X as many steps to chop up a site design when there's one that takes X?

Sadly most artists who want to save money just pirate, which is what led to the terrible Creative Cloud situation. But that led to Affinity which seems to be a solid, buy-once (for cheap!) replacement. I agree the monolithic nature of Adobe is bad for everybody but that's not a reason to choose a subpar tool. Also people can write and sell their own plugins for Adobe products as well.

Anyway I think we're mostly on the same page.


You make a good point. MATLAB, rightly or wrongly, has become a signal for engineering computation skillset on resumes.

That said, the world has become more accommodating in other ways. Python and R are now more well-accepted signals for data skillset than say, SAS. (exceptions: finance, pharma)


While R is superficially very similar - having used both, my impression is that it's actually not for the same use-cases as Matlab/Octave. Matlab is primarily for linear algebra, while R is primarily for data-frame manipulation (which is more like SQL). So while they both can do the others job, things get clunky really fast


Out of curiosity, what are the pain points you run into using R for linear algebra? I've found it's not too bad for the basic things I've used it for, but my needs admittedly weren't very complex.


The scientific libraries for Python have gotten so good that Octave doesn't really have a chance, unless you are just interested in running some (old) MATLAB code and can't get MATLAB itself. This is really all about the libraries and frameworks, rather than the language. And with Jupyter notebooks you get a great UI which is something Octave never had.


Octave has a GUI nowadays which is pretty good, but a bit late to make much difference.


Like other have said, the #1 reason is probably just being part of the python ecosystem. But there were other reasons as well: there has been a big push in academia where MATLAB was used extensively to use Python when it became available (because its free and open source; but also many licensing restrictions around MATLAB). So there has been a significant investment in the python/numpy ecosystem from both academics and industry players who don't want to deal with these licensing issues (e.g. Oil and Gas companies).


Python is general-purpose and more people use it. There are many reasons, but the preferential attachment model is sufficient to explain your observations, in this comparison.


The short answer is "scikit-learn".


Can you please give the longer answer? I don't understand what you mean. What does scikit-learn have that octave doesn't? (Asking out of ignorance)


It's commonly featured in machine learning MOOCs. Sometimes things win mindshare for reasons other than feature sets.


and/or pandas, opencv, seaborn, bokeh.

or R.


Octave is basically a not-as-good-but-free version of matlab, and matlab is an abomination. See forex: http://archive.is/tCo6B


I added a slide about this to the talk I'm giving tomorrow on funding for open source math software at University of Rochester: http://wstein.org/talks/2017-02-09-wing-sage/slides.pdf


Thanks, Will. I hope things are working out for you too.


Thanks - definitely not yet, though I still have hope and feedback from customers is very good.


Can you get academia to give you funding to continue the project? It's a common model in the bioinformatics world.


He used to have exactly that, but his academic position ended 8 years ago.


As a soon-to-be engineering graduate, I am very thankful for Octave. I've used it (instead of MATLAB) for projects involving numerical methods, control systems, image processing, and all kinds of data manipulation. While it may not be as powerful as MATLAB for certain use cases, it is an amazing piece of software.


Free startup idea: Patreon for Open Source

* Users signs up to OSPatreon, downloads OSPatreon app that creates ospatreon directory in $HOME/.local/share/ or other operating system appropriate location, then creates a cronjob (or whatever) to rerun after one month

* Open Source projects that want in add a snippet of code that, when the application closes, writes the amount of time the application ran to $HOME/.local/share/ospatreon/

* At the end of the month the OSPatreon window pops up, shows the user a list of ospatreon projects the user has used, sorted by decreasing total time, lets user select how much to donate and the share each application gets (default: proportional to time the app was used)

* You collect money from the user, pocket some percentage, distribute the rest to OS projects.

Startup name: Fosstreon.


This is a good idea. However, I think it is problematic that most open source usage is in the form of libraries. If a GUI leverages amazing open-source libraries, only the GUI author would be paid. Additionally, many closed source (GUI or not) projects leverage many open-source libraries.


It can be solved with the main app listing its oss dependencies - similar to dependencies in node package.json . the amount to be paid to the main project gets split based on the dependencies and weightage specified.


Just donated 25 bucks. Octave is a fabulous tool.


So xoctave[1] is not commercial version of octave?

[1] http://xoctave.com/blog/


Looks like that was one of the several third-party Octave GUI projects that predated the incorporation of an official GUI upstream in version 3.8 or 4.0 of Octave.


Could some kind of micropayment scheme help these projects make some money?

For web servers you might charge per request served. For text editors you might charge per unit time the editor is being used.

It'd be interesting if the maintainer could define an acceptable salary, and all "consumers" would just split the bill by proportion of their usage according to the kind of metrics mentioned above.

I would gladly pay such a bill if nearly all the money went straight to the developer, I could cap my contributions, and it was extremely easy to opt-in. Ideally the package manager would read some dotfile or ask me! The problem with projects like Bountysource is that people will never track down all the OSS projects they depend on and figure what would be a reasonable donation to give them. Too much agency is required of the user to achieve meaningful adoption.

Has anything like this been attempted?

Edit: clarifications ...


> people will never track down all the OSS projects they depend on and figure what would be a reasonable donation to give them. Too much agency is required of the user to achieve meaningful adoption.

Yes! This gets at the B2B question mentioned elsewhere on this thread. At Gratipay, we're working on integrating package managers to help with aggregation. We've already loaded up all npm packages with stubbed out pages like:

https://gratipay.com/on/npm/express/

Now we're working on adding the ability for package maintainers to easily claim their packages on Gratipay, and then companies can upload a package.json or something and give a chunk of money to their entire dependency chain. Happening here:

https://github.com/gratipay/gratipay.com/pull/4305


Just donated to the J W. Eaton Consulting. Thank you for octave. I used it throughout the Andrew Ng's ML course.


I'd apply to Mathworks as BDFL of Octave and work on Matlab support for open source packages.

So many areas to work on. Integrating D3.js, integrating with Python machine learning/dataframe libraries, FPGAs, SMT solvers like Z3 and CVC4, ...


Also ask Wolfram for some funding. They would love to gobble Mathworks clients and could do so with better Octave integration.


This wouldn't work. The Mathworks has never been friendly to us. Working for the Mathworks would mean the death of Octave, and I know jwe doesn't want Octave to die.


I have not tried the octave GUI in a couple of years but back then it was awful. In my opinion this has always been octaves biggest weakness. If they would fix this I am sure they gain significantly marketshare from matlab.


> back then it was awful

I think you'll have to expand on that. "awful" is neither useful nor constructive. Do you mean compatibility, interface, documentation, something else?


In 4.0 it looks waaayyyyyyy better. Much more modern and more like Matlab.


This is worth while. Wish I could give more.


Then make a website, register a company, and make it official. Maybe take a page from RStudio's model and adapt an IDE to use Octave. Offer a product, any product, and people will buy it.

I have no doubt people will pay for the author to continue to develop Octave, but simply sending money to a PayPal account isn't something most people are comfortable with. Plus how do you invoice that?


Octave seems to have some great mentions on indeed.com. https://www.indeed.com/jobs?q=octave&l= Not sure if any of those jobs are near you, but give it a look. The position titles might help you expand your search in your local area.


Does anyone know if the paypal page is doing it right? Usually I see something about donation with other projects. This one says "Purchase details" and has quantity. I'd hate for it to be closed down for not complying with some paypal rules.


I like Octave so I just sent some bucks. Doesn't hurt me, but helps the cause.


Yes, Octave the saviour. Sad that such projects aren't supported or there is no foundation that can come forward to help the BDFL. Made my contribution, hope it adds to the drop in the ocean. All the best.


Perhaps offer tiered packages of sponsorship for companies to advertise at OctaveConf ?

eg. A special thankyou to our Gold sponsor XYZ Corp who donated 10k to support Octave core developers and this conference. etc.


I've never used so much octave (except for a couple of exams at university), but 25 years of life and work devoted to the community deserves my 10$.

Thank you for all the work and good luck!


Most people with an open source side project P will never be in the position of "oh, I need money; I guess I will have to find a non-P job".

That's the norm.


Contribution made. Octave is on point, and easily accessible for those wanting to learn Matlab-like syntax without having to mortgage their homes.


this is sad. I just rediscovered octave not long ago. I have been using R, but was never comfortable with it - yukky syntax, clunky RStudio. octave has clean and solid UI, nice syntax that sticks and reasonable base packages.

I wish you guys could develop a practice around octave, selling services, while keeping base product free.


It's a sad truth that it is really difficult to make decent money writing scientific software.


Made a small donation since I've used it in Andrew Ng's ML class


Hmmm...Decrypt it with waterboarding!


Jeez, This is heart breaking.


> I would love to continue as the Octave BDFL but I also need to find a way to pay the bills.

Breaks my heart to see such devoted developers having so much trouble paying bills for the work they've done.

I truly believe that this problem can be solved-by crowdfunding open source developments that rivals commercial status quo, we can decouple ourselves from restrictive licensing structures while paying people's bills for those who contribute to the development.

Imagine if Octave just got $3000 USD / month, that should help with basic costs of living (not knowing where the original author is) and also incentivize continued development-25 years of unpaid work is a tragedy.

I still have not figured out all angles but this is my dream. To help open source developers get paid and the work that becomes BSD or MIT licensed will offer a strong alternative to commercial softwares.

I'm wondering if anybody else shares similar vision, please subscribe at http://letsopensource.com or feel free to reach out at my email in my profile.


I wonder if it's because the time investment demanded of the BDFL is so high. If there were more people and each put in smaller amounts of their time to work on the project, then it would be possible to sustain it without having to depend on the charity of users.

I get the feeling that projects like Python operate like this but I have no data to back my claim.


Yes sort of like how Patreon crowdfunds independent youtube channels to create the content the backers want to see.

I just figured out what BDFL meant :)


The "Subscribe to Updates" button on that page doesn't work. Also, above the "Full Name" field, it says "invalid".


subscription form works without issues my end. yeah that button is messed up. looking at you launchrock....


LetsOpenSource sounds like a brilliant idea! I have some ideas I want to love to discuss with you. Please contact me at joel at trustly dot com.


Just sent you an email!


I'm sure he can a job at Google.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: