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.
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.
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 apps can use native binaries. Replacing linux without breaking compatibility with apps is rather impossible (unless with some linux compatibility layer)
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.
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.
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.)
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.
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 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.
No it's not that good for software developers or anyone really.
Many of those hired on H1B are doing roles for which they simply can't get enough local talent. And so all that is going to happen is that companies are going to shift entire projects offshore or simply not take on as many projects.
There does need to be reform. But frankly given the chaotic manner in which the Trump administration is crafting and implementing policy I don't think their approach to reform will be nuanced enough.
> Many of those hired on H1B are doing roles for which they simply can't get enough local talent.
I can only speak to my experience. At my current employer we have about 60-70% H1Bs in my department (development). Even more in QA. And they aren't particularly talented. After reviewing the public information though, they are getting paid 50% of what I am.
So they are living with multiple other visa workers in one apartment, can barely afford repairs to their old cars, etc.
It'd be great if the wages were more equalized. It's really not about talent at anywhere but the big 4. It's about money.
I am not working at the Big 4, am on H-1B, and am a hiring manager at an SV firm. When I hire an H-1B it is not about the money. Not challenging your experience, but pointing out that there are other possibilities also.
The inclination for people to hire those who remind them of themselves is well documented which means if you're not doing it to save money then you're doing it to favor your tribe.
I hire both people on H-1B visas and those who are not. All I was saying that the immigration status does not positively or negatively affects a candidate's job application, where I work.
Well, yes. I mean at the Big 4 (and really, this applies to any large, cutting-edge company: Twitter, Oracle, etc.) they do reach out of the US to find great talent for higher up positions. But they also abuse the visa process for lower wages in lower positions.
Lots of other companies without hype just want lower wage workers. I figure these are the majority.
People who are in startups and other unicorns are telling me this, sure.
But lots of established SW companies use contracting companies that abuse the visa process. I should have been more clear, it's these contracting companies (usually based out of India) that are abusing the process. US companies that use them are pretty much complicit:
> But they also abuse the visa process for lower wages in lower positions.
No, in lower-level positions also they are paid the same as their colleagues who are citizens. During the hiring process, the immigration status is not get considered as a positive or negative qualifier.
> Lots of other companies without hype just want lower wage workers.
I agree.
> I figure these are the majority.
This is possible, but I am not sure. It is true that many companies who get the most visas don't pay well. But the well-paying firms do not apply for lots of visas, and there are lots of them, leading to a long thin-tailed distribution. Also, many of these H-1B immigrants, once they get their green cards, go on to found successful startups increasing the size of the economic pie for everyone. One such person, Jyoti Bansal, sold his startup for $3.7B last week.
> No, in lower-level positions also they are paid the same as their colleagues who are citizens. During the hiring process, the immigration status is not get considered as a positive or negative qualifier.
Not if they are hired through a contracting company:
In France its quite straight forward to get a skilled worker visa -- just earn more than 3100 Euros per month (~1.5 * average earnings in France). Shouldn't be a problem for tech workers.
(They are also introducing a 'tech startup visa' in the near future.)
True. There has been a significant increase in outsourcing in France in the last 5 years, but I don't know that it involves labour from lower wage countries. Obviously few Indians speak French, but there are many call centres outsourced to Senegal and other former French colonies. I think it is only a matter of time before ICT jobs migrate as well.
Exchange interns are J1, student interns in the US use their current F1 Visa with a CPT (Curricular Practical Training) permit for summer internship, or sometimes an OPT (Optional Practical Training) permit.
Sure. It's a nuanced discussion. It's not just about price. It's also about the various experience within the local talent pool. I still remember at Apple looking for WebObjects developers, finding none locally but dozens at Infosys. What exactly are companies supposed to do ?
And companies like Infosys are often playing in specific, less sexy spaces i.e. enterprise J2EE, DBAs, System Administration etc whilst newer generation of developers prefer Go, Rust, Javascript etc.
> It's not just about price. It's also about the various experience within the local talent pool.
Same thing. H1B just made them that way, with both metrics being in favor of the employer (except the vast majority of times the skillset is misrepresented).
The astroturfing by someone who has no experience with how H1B is used, is telling.
I keep hearing this but personally have seen people passed over for H1B candidates when both were equally qualified. Even seen a few senior developer positions filled this way and in every case it was money.
It feels good to tell ourselves we didn't hire locally because there wasn't enough talent when in many cases its just far easier to accept a recruiters suggestions where multiple recruiters simply undercut each other.
>Many of those hired on H1B are doing roles for which they simply can't get enough local talent
This is the scam they want you to believe, but it's being abused to simply keep wages low.
It's very easy to post fake job ads to make it seem like "you can't find someone" for the job, and there are plenty of lawyers who will help you get around those loopholes:
https://www.youtube.com/watch?v=TCbFEgFajGU
I have been reading for years how broken the current system is, so I would bet that there is a market for that.
The issue is the motivation behind the change. What if the changes are designed to please an electorate that is not directly impacted but they just really really want to see some heads rolling?
There are some serious credibility issues with the current US govt. Left or right, populists pretend to swing a magic wand and magically fixing problems. Ban immigrants, implement 90% tax for the rich and so on, until these vote generating policies break apart.
Also don't forget that Trump is emotionally immature.
He has a long track record of viciously attacking those whom attack him. Could well be payback for many of the SV companies that criticised him both publicly and privately e.g. Lisa Jackson from Apple meeting with Kushner/Ivanka this week.
It's definitely a program that could use reform. However from what little the article mentions of the 'draft' executive order, I don't see many specific policy changes to the status quo.
If this follows the pattern of 'make a big news splash' and 'leave huge ambiguity regarding actual policy' then it is really not helpful for any kind of business decision.
The rational response right now might be to avoid new H1B hiring completely, lest you spend months on an application that later gets nullified by shifting policy. That's not a win for SV companies that favor H1B hiring.
If they make clear changes that do help create more visas for high skilled workers, I agree that's a win for silicon valley, and a win for US labor. Overall the US does well when other countries send their top brains here.
No, they won't. B-1 visa holders are not allowed to work, E-2 holders are rare among the SV workforce and don't represent any slice of the job market, L-1 visas are limited to SV companies with foreign presence, of which there are not so many compared to the total amount of startups in SV.
If anything, any potential change to O-1 visas (don't know whether any are planned) will have larger impact than what you're describing.
This brings back nightmares I had from working at Microsoft (2009).
As a PM; responsibility without authority was the job description. Hallway estimates and schedule chicken was 70% of the job. And the there was stack ranking...
Not a fan of Trump but this is a good thing. See this exert from John Oliver on the effect of such trade deals; https://youtu.be/6UsHHOCH4q8
And that's the existing trade deals, TPP would have made it much worse. There is a reason why democratically elected governments need to protect their sovereignty. The scope of the legal provisions along with the requirement to use easily corruptible mediation is superfluous to free trade.
In addition, I don't understand those that think boxing out Russia and China from the rest of Europe and Asia is a good thing.
>I don't understand those that think boxing out Russia and China from the rest of Europe and Asia is a good thing.
The idea is that if you can connect the economies of small regional powers (Korea, Japan, Vietnam or Poland, Romania, Hungary) more than they're connected to the regional hegemon, and you connect those powers to the US, then you will have a balance of power in the region that makes war impossible.