Hacker News new | ask | show | jobs
by gigatexal 2641 days ago
I would have thought rails to golang so I too am surprised.

I wish I had millions and could be a patron saint of sorts for people like the author. Open source funding is so broken as the companies that build upon the vast open source and often free software don’t do much in the way of donating or otherwise supporting the companies or individuals behind the projects.

3 comments

Ruby has developer happiness as one of its main goals. Go on the other hand seems to have a lot of narratives around keeping the language small even if it's inconvenient. Add to that that Rust with Cargo has a package manager that will fell just like home to Ruby devs, whereas Go brought package managing back to the dark ages. => All this makes it hard to get excited about Go. Rust on the other hand comes with a bunch of new and exciting language features.
I don't think the "lot of narratives" you're talking about actually exist. I've never heard anyone from the Go camp say that they want to make the language "small even if it's inconvenient". From a language design point of view I think they're trying to make it small to maximise convenience. Yes, it's a different philosophy to "kitchen sink" languages but that doesn't make it wrong. In fact it's considered a gold standard of language design. Wikipedia says:

> Orthogonality in a programming language means that a relatively small set of primitive constructs can be combined in a relatively small number of ways to build the control and data structures of the language[2]. It is associated with simplicity; the more orthogonal the design, the fewer exceptions. This makes it easier to learn, read and write programs in a programming language. The meaning of an orthogonal feature is independent of context; the key parameters are symmetry and consistency (for example, a pointer is an orthogonal concept).

Go modules are a fairly new feature which addresses past criticisms of Go dependency management so I don't think that's a valid criticism any more.

I don't disagree that making the language small is a great goal and makes the language better. I just think that such a language will not appeal to everyone who enjoyed a large language full of syntactic sugar like Ruby. In fact I very much agree with Go's design goals and see lots of problems with Rust's design choices, at least when considering it for "mondain" work like web dev. However, I cannot get myself excited about Go at all, while I am very excited about Rust. I think it's that Rust, especially coming from Ruby, has interesting new concepts that lead to many rewarding learnings where you change how you reason about some things. When I read about Go, there are no surprises, everything immediately makes sense. All of this is good. It's also boring (in a good way). If I somehow got forced to use one of these languages for a new startup, I'd go with Go. If I had to pick one for playing around with on the weekend, I'd definitely go with Rust.
Mundane... Not mondain
To be fair Golang modules fixed this somewhat. To that end, go modules are not cargo or ruby gems.
The article seems to disagree with your point about open source funding:

> Right now my goal is to get a handful of medium sized grants from larger companies to support my work on crates.io. If you work for a company that might be interested in helping sponsor me, please reach out.

If that's a financially viable proposition, that speaks well of large companies supporting individuals on open source projects, no?

I think that particular type of patronage is fairly uncommon, but popular projects might have a couple people like that each. That's still a very low number if I'm correct. I know sometimes there are foundations for languages that aggregate donations and fund grants to do specific work (e.g. part of the The Perl Foundation's function, I believe).

I think the majority of companies that give back do so through developer time and effort. If there's a non-profit to push money through to fund work, they at least get to write it off easily, so whether a language has one like the one I referenced above might greatly affect whether there are dedicated people working on the language specifically or not.

Does anyone know if the "Rust organization" he references is meant to refer to Rust as a whole, or is a specific non-profit with a goal of funding Rust advancement? I'm not finding anything specific. Mozilla probably isn't equivalent, as I imagine only a fraction of anything donated to them could be expected to go directly towards Rust.

Yeah, it's a problematic model if we were to look at it as a solution to open source funding. It requires you to already be contributing heavily to a significant enough project that you'd be able to get these grants in the first place. Being able to get there without being paid along the way is a position of extreme privilege that not many have.

I spent a lot of time wrestling with the decision to even try this at all ("is it fair for me to do this when so many others can't?" and "will folks just think I'm abusing my position" are both things I had to come to terms with).

That said, if we do a better job of breaking down barriers to getting into that position in the first place, it's not a terrible model to start with. Getting a enough large grants to fully cover a salary from various companies a year is much more feasible than getting enough tens of thousands of individuals to contribute.

Working with these shorter sponsorships vs a full time employer also just feels more like the kind of open source work that got me wanting to do it full time. It lets me be much more flexible on when/what I work on (within reason, there are expectations on what "full time on crates.io/Rust" means). It's also helps to avoid situations where the employer is upset because you're spending time on a feature/bug/whatever that is important to the ecosystem but not directly useful to the company (e.g. working on a PG specific feature in Rails while employed by a company that uses MySQL)

There is no legal entity, he just means the contributors group. The GitHub organization.

We may eventually start a foundation, but that’s a huge “may”.

Yeah, calling it "The Rust organization" was probably a mistake, as it can be confused for something more official than the nebulous non-official entity that I'm referring to
I've never contributed to go in the past, why would I be transitioning to working on go full time?