Skip to content

Instantly share code, notes, and snippets.

@cartermp
Last active November 30, 2021 01:15
Show Gist options
  • Save cartermp/fd53ce83f9d84e9fd54c41613c5d3849 to your computer and use it in GitHub Desktop.
Save cartermp/fd53ce83f9d84e9fd54c41613c5d3849 to your computer and use it in GitHub Desktop.

Herein lies my thoughts on what the FSSF should seek to accomplish and why. Ultimately, it comes down to spending the money that we have to further the reach of the F# language. How that gets done could make for some challenging implementation details.

It's a marketplace out there

Like it or not, language adoption is a game in a market.

Java didn't overtake the world in the 90s because it was better than C++. It did it because Oracle pumped hundreds of millions of dollars into marketing efforts to get people to realize that it was more productive than C++. They even took out ads in newspapers.

And other times you don't need explicit marketing because you're the default language used for a platform (kotlin via Android, Swift via iOS) and you get to piggyback on the marketing for that platform instead. C# fills this role for Microsoft's stuff that's .NET-based. Yes, F# can "me too" here, but this is just a tiny drip of adoption (albeit steady).

Sometimes enormous budgets and platform attach isn't necessary. Sometimes a language gets lucky. Python can find its way into a little startup called Google in the early 2000s, ride the wave as it grows into an enormous company, revolutionizes how people think of software technologies, and creates a market for Python developers that bolsters various pieces of its ecosystem in other ways (validating niche academic usage, exiting engineers who found cool projects people love, etc.)

F# is in a weird place where it's not lucky like Python and it doesn't have a big marketing budget to promote content that encourages people to use it for specific tasks. Some of that can come from Microsoft intermittently, but this sort of thing needs to be steady.

✨ ✨ The FSSF should publish a steady flow of content encouraging people to use F# for specific tasks.✨ ✨

It doesn't need to be enormous. Everything starts small. But reliability and steadiness is key. You can learn how to maximize your reach as you experiment with publishing content and getting the word out.

F# creators need support to get reach

The F# community has a lot of amazing people doing cool stuff. Every once in a while that stuff gets picked up - like Plotly taking up FSharp.Plotly and transforming it into Plotly.NET. But usually it's just one or two developers toiling away at something with little support.

Some people get lucky. Dustin's Giraffe library has taken off sufficiently well-enough that he has plenty of people using it, since he was good with timing his content updates and riding the wave of ASP.NET Core adoption. But this is not the norm. Most F# libraries don't have 1.7k stars on GitHub. They have 7.

✨ ✨The FSSF should actively promote the work of people in the F# community. ✨ ✨

Again, this doesn't have to be big. It is also related to the first part. Are we pushing content about doing statistical analysis? Promote an appropriate fslab project in addition to that. A diverse set of topics will natually yield a diverse set of projects and people who can benefit from our promotion.

F# needs more commerical support

Microsoft and Jetbrains do great jobs ensuring that F# developers have the tools they need to build their apps. The Fable community also does a good job of this for F# on the web. IntelliFactory still pays people full-time to work on WebSharper and Bolero. F# doesn't need more from these companies.

But the reality is that most commercial entities merely consume F# and its ecosystem. They don't give back. They don't pay their employees to contribute back to projects they depend on. They don't contribute F# content. People who work for these companies will do that stuff on their own time.

✨ ✨The FSSF should do a drive to promote projects and content creators and encourage corporate sponsorships or sponsor them directly. ✨ ✨

There are several ways to go about this. One is, again, about promotion, but targeting commercial entities. Another could be about doing a drive to collect funds from companies, and using that money to pay people to create OSS and/or content, particularly learning content and projects that we know people depend on for their work. I'd lean more on Reed on how to go about collecting funds here, since that was done in the past.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment