Hacker News new | past | comments | ask | show | jobs | submit login
Looking for Work After 25 Years of Octave (gnu.org)
1332 points by dhuramas on Feb 9, 2017 | hide | past | web | 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:


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).


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.


> 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?


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


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 ).

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.



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"?


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:


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.

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.


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) {
        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");

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:


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].


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.


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.


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.



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.


> 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:


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.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact