jonnifyfsharp
C0.2.3

The open-source turn

The F# Software Foundation

A language stewarded in the open, by a foundation and a community.

F# began inside Microsoft Research. It did not stay a single-vendor project. The F# Software Foundation, a non-profit, was founded in 2013 to promote and advance the language and support its community. The compiler is open-source, the language design happens through a public proposal process, and an ecosystem of community projects fills in the tooling around it. This dive covers the foundation, the open design process, and the real projects that make up the ecosystem.

A foundation and an open compiler

The F# Software Foundation (FSSF) is a non-profit founded in 2013. Its remit is to promote and advance F#, to support the community, and to run a mentorship program; it stewards the language's home at fsharp.org. The foundation does not own the language alone — Microsoft, the community, and the FSSF co-steward F#.

The compiler is open-source. The F# compiler and core library live at dotnet/fsharp on GitHub, and the same compiler is exposed as a library — the FSharp.Compiler.Service — that other tools build on. An open compiler means the language's implementation is readable, forkable, and contributable, not a sealed binary.

FSSF
The F# Software Foundation (fsharp.org) — non-profit, founded 2013; promotes F#, supports the community, runs a mentorship program.
dotnet/fsharp
The open-source home of the F# compiler and core library on GitHub.
Compiler.Service
The FSharp.Compiler.Service — the compiler exposed as a library for editors and tooling.
stewardship
Co-stewarded by Microsoft, the community, and the FSSF — not a single-vendor language.

F# is open at the root: a non-profit foundation, an open compiler, and shared stewardship rather than a single owner.

How a feature enters the language

Language design is a public process, open to anyone. It runs in four stages. A suggestion is opened in the fsharp/fslang-suggestions repository. If it gains support, it is written up as an RFC — a design document — in fsharp/fslang-design. The feature is then implemented in the compiler at dotnet/fsharp. Finally it ships in an F# release. Step the flow below to follow a feature from idea to release.

The open language-design flow · step through it

stage 1 / 4
suggestion fslang-suggestions RFC fslang-design implement dotnet/fsharp ships an F# release
stage 1 · suggestion — Anyone opens a suggestion in fsharp/fslang-suggestions. The community discusses it in the open; support and use-cases accumulate on the issue.

No private committee gate: a feature travels suggestion → RFC → implementation → release, in public repositories anyone can read and contribute to.

The ecosystem around the language

Around the compiler sits a body of community projects — the tooling that makes F# practical day to day. They group by what they do: building, client output, code quality, and editor tooling. Select an area below to see its projects and what each one is for. Every name here is a real project in the F# ecosystem.

The F# ecosystem · select an area

build Paket · FAKE client & web Fable · Giraffe · Saturn quality Fantomas · FsCheck tooling Ionide
PaketA dependency manager for .NET and F# projects, with a reproducible lock file.
FAKEF# Make — a build automation system whose build scripts are written in F#.

The named projects: Fable (F# → JavaScript), Fantomas (code formatter), Paket (dependencies), FAKE (build), Giraffe and Saturn (web), FsCheck (property-based testing), and Ionide (F# tooling for VS Code). Scott Wlaschin's "F# for Fun and Profit" is a widely used learning resource.

A single-vendor language has one toolchain. F# has a community one — build, client, quality, and editor tools, each its own open project.

References

Sources

Related in this course