Email or username:

Password:

Forgot your password?
Devil Lu Linvega

Watched the The Economics of Programming Languages talk from StrangeLoop, and I wonder why they don't consider building software projects in the language as a way to fund its development. The division between tooling and product are at the core of the funding issues.

I understand the donation model, but from my experience the best way to fund language development is to build things people will be happy to give you money for, and using some of that money to improve the devtools(incl. language).

20 comments
Devil Lu Linvega

I sort of wonder, have programming languages always been "platforms" hungry for market capture, or is that a relatively new thing.

Ramin Honary

@neauoire I am guessing it really is a new thing. Earliest example I can think of is Java. Sun Microsystems marketed it relentlessly, and it worked for a while.

On the other hand, older languages like C, C++, Common Lisp, and Scheme all went through decades-long standardization processes because several commercially viable implementation already existed and it was beneficial for the corporate stewards of these implementations not to have end-users be locked-in to their competitors.

I strongly prefer using older languages with long-drawn, consensus-based, standardized specifications.

@neauoire I am guessing it really is a new thing. Earliest example I can think of is Java. Sun Microsystems marketed it relentlessly, and it worked for a while.

On the other hand, older languages like C, C++, Common Lisp, and Scheme all went through decades-long standardization processes because several commercially viable implementation already existed and it was beneficial for the corporate stewards of these implementations not to have end-users be locked-in to their competitors.

Toni

@neauoire I feel like that started once Google and Facebook started making their own languages happen and then it spread to the fanboys arguing that their language is the best and everyone should use THAT one in particular.

Devil Lu Linvega

@ffsanton As someone else mentioned in the thread, I think Java was a precursor to language as a platform, where funding was decoupled from the products. I haven't had a chance of learning about the story of java until now, just reading about it atm-

Avi Bryant

@neauoire in the 90s there were lots of companies that made money selling language IDEs (Think, CodeWarrior, VisualAge, Borland, etc) or even just distributions of open source languages (ActiveState). These were often effectively their own languages (eg I used a THINK C that was a non-standard C++ subset). I see Java as the thing that shifted commercial development towards an open/free “platform” and killed tooling as a viable business. Secondarily, the rise of Linux vs commercial UNIX.

Brian Marick

@neauoire @CodingItWrong I came up when the big debate (in non-scientific software) was whether C could supplant assembly language for serious work. That sort of felt like a platform play, going for market share, though more driven by programmer enthusiasm and organizations eager to avoid vendor lock-in.

archiloque

@neauoire I know Scala used this approach and I'm curious if you know other sucessfull examples

Devil Lu Linvega

@archiloque well, because I had to research this coming from the games angle, I can think of games where programming languages were developed explicitly to achieve the creation of that one game. And the funding from the game sales powered the language.

But in web stuff, there's a chasm between people developing the tools and the people make products and money from them.

archiloque

@neauoire ahh thanks, I didn’t though about games. For web and business applications were long time maintenance can be an important thing, paying for a thing to be developed new programming language can be seen as risky

Josh Justice

@neauoire this sounds similar to the approach the Laravel PHP framework has taken: the language is free, and you can run it on anything, but they build paid services to make your Laravel development easier

i guess Rails would be a different approach: it emerged from the underpinnings of a commercial service *not* for developers

any particular examples you're thinking of?

Devil Lu Linvega

@CodingItWrong I'm trying to build a collection of examples at the moment(that are not video games). I don't have that many examples in mind no.

Boris Mann

@neauoire I think this concept of vertical integration has very much fallen out of favour.

I’ll also say that often language designers are not good at “product”.

So the question becomes around gathering a diverse set of folks with cross-disciplinary skills.

I keep thinking about Cross License Collaboratives as a model here xlcollaborative.com/introducti

Devil Lu Linvega

@boris I'm not sure I understand how cross license works

> Rather than assigning or licensing their contributions to a centralized organization, contributors license each other.

Is there a pool? or do collaborators split their licensing fee individually between collaborators?

Boris Mann

@neauoire for licensing revenue there is a pool.

How this is structured isn’t detailed, just described.

“Cross license collaborative governance rules also require sharing of any proceeds related to licensing. If the collaborative makes its project available under a share-alike or noncommercial licensing, and then chooses to sell an exception for closed or commercial use, they must share the license fee with all contributors.”

James Conroy-Finn

@neauoire this sounds like the consulting stream Evan mentions, where Cognitect and Clojure fit.

Nubank ultimately reimbursed Rich Hickey by acquiring Cognitect, in turn topping up the retirement fund he drained to get Clojure up and running.

Jamie Gaehring

@neauoire This was a great talk, and I wanted to know more about the way Czaplicki evaluated and categorized the different funding models too. What you propose sounds like it might fit into the "Consulting" category as he described it, maybe? Just based on what I *vaguely* know of Cognitect and how they operated, essentially using Clojure in their client projects as a way to fund the lang, while also using Datomic, too, and getting paid for hosting. H/e, don't take my word on any of that! 🙃

Panicz Maciej Godek

@neauoire Wasn't that how it started for Elm & Prezi, though?

Rob Landley

@neauoire C happened because Unix was built in it. It was not load bearing before, and attempts to replace it have yet to displace it becuase nobody's dogfooded a whole OS (kernel and all) in any other language yet.

I refuse to care about Rust/Go/Swift until a usable OS exists written in one that can rebuild itself under itself without needing any other language to complete that basic circle. It's not a load-bearing systems language otherwise, just a parasitic growth on the C ecology.

WimⓂ️

@neauoire I also watched it. The message seems to be that a language can't succeed without money, because as soon as it starts to catch on, a single hobbyist can't manage it anymore, so you need paid help. That is probably correct to some extent today, although I can cite some counter-examples.

Leon

@neauoire the most pressing concern of any client is usually risk mitigation. that's probably what they want the software for in the first place, even. a new piece of software is change, and risk is inherent to every change.

so it would be very, very difficult to find a client in this day and age who would be cool with a brand new, largely unproven tech stack with zero ability to hire for or transition locally. you really only have three options:

1. work for so little money that if they did need to pay to have someone reimplement it in something boring/reliable they could
2. be mandatory; a subject matter expert or a friend/family member of someone important
3. find a non-technical client who doesn't really understand their job as a client and sweet talk them into an awful deal for them

@neauoire the most pressing concern of any client is usually risk mitigation. that's probably what they want the software for in the first place, even. a new piece of software is change, and risk is inherent to every change.

so it would be very, very difficult to find a client in this day and age who would be cool with a brand new, largely unproven tech stack with zero ability to hire for or transition locally. you really only have three options:

Go Up