Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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

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

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

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

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

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



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

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

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

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


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

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

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

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

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

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

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


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

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


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

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

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


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

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


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

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

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

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

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

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


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

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

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


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

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


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

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


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


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

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


Normal people use Android phones. Which use Linux.

Normal people use shared hosting. Which often uses Linux.

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

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


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

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

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


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


Have you ever used the NDK?

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

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

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

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

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

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

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

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

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

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


I have a lot of accurately placed anger.

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

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

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


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


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

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

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


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


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


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

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

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


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


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


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

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

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


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


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


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

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

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

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

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


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


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


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

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


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

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


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

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


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

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




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

Search: