You seem to see this as zero sum, meaning that the algorithm writer can only win if "the world" somehow loses. Why is the algorithm writer morally bound to give up his time and effort to the world without compensation? Or why should he consider his own needs and desires somehow lesser that anyone else's? Can not the world benefit from the work of a clever developer while the developer can benefit by earning payment for his efforts?
If the world really needs better algorithms: it can pay for them. That's called a trade, something where both parties win... and if they don't, one party or the other walks away. What this discards is the immoral idea that you can only be good by becoming some sacrificial animal that discards his own needs in favor of others.
Oh... and by the way... you can sometimes advance your own interests by NOT charging them for your work; a lot of open source actually does work this way in practice (even if self-benefit is not the motivating factor for many). Trades are not always monetary.
My only regret is that I have but one upvote to give. You really nailed that on the head.
As a computer programmer and an open source software enthusiast, believe me when I say that I would love to contribute every line of code I write to open source. Not because of any moral imperative, but simply because I'd love for my work to be widely distributed and used. Unfortunately, it's incredibly difficult for a company of one to pull that off (but not impossible -- see Mike Pall, for example, though I have no idea how much money he actually makes (made?) via LuaJIT). If I could work on nothing but my open source software without needing to sacrifice my (already rather modest, really) quality of life, I would tender my letter of resignation in the morning. People don't even want to pay for software when it's not available for free: I have a very hard time imagining that they'd be willing to pay for software that is free.
I just don't see any way I can make it work, at least not right now. Maybe once I've got more of a financial safety net set up, I'll give it a shot or two, but for now I'm content to develop proprietary software for The Man™ in exchange for a monetary salary. I do try to squeeze in bits of open source development wherever/whenever I can, and that'll have to be good enough.
Where did you see all this in my 2 sentence comment?
I never said it is bad to put yourself first.
You're free to do whatever you want with your work, because this work is yours.
If anyone against they can make an alternative.
There's no sum and the choice is huge starting from "you" and ending with "others", pick any point of this range.
If I misread the intent of your comment then I apologize. But context does matter and in context, your statements carried a fair amount of meaning with little explanation. I don't want to suggest that you said that someone should be forced to release their code; but your short statement seemed to stake a moral claim. A claim I don't see as valid. If I'm wrong, I'd be interested to know what you actually meant.
What I tried to say is that there's other side of some "people need to eat". But it is up to the author or authors to choose which side to choose (or any point in between). And there's nothing wrong with any choice.
That would be great to have this algorithm open sourced.
Even considering lower gamedev salaries that's not a ton of revenue for one of the top middleware companies in an industry. Given east-side salaries I don't know if you could support more than 8-10 people on that revenue.
I think I still disagree with your ultimate position. But I do thank you for taking the time to respond. I'm upvoting you because, agree or not, you engaged in an honest discussion.
It may not directly feed your family, but it can certainly improve the world you live in and that includes your own private habitat. Small improvements might not be worth giving away because the effect on your life will be negligible, but bigger ones should be (at least once you've obtained financial independence through them, there's no longer a good excuse not to).
Putting yourself first isn't a bad thing, especially where bread and butter is involved. Might I suggest dual licensing with a provision for free-to-use in non-commercial projects? Something similar to QT.
Where did you get the idea that putting yourself first is a bad thing in my comment? I didn't mean that. What I was trying to say that you can pick any of this. At the end of the day you're the one who did the job, so it is up to you to decide what to do with it.
If the world really needs better algorithms: it can pay for them. That's called a trade, something where both parties win... and if they don't, one party or the other walks away. What this discards is the immoral idea that you can only be good by becoming some sacrificial animal that discards his own needs in favor of others.
Oh... and by the way... you can sometimes advance your own interests by NOT charging them for your work; a lot of open source actually does work this way in practice (even if self-benefit is not the motivating factor for many). Trades are not always monetary.