The Future of the .NET Foundation and .NET OSS

12 Oct 2021

The Future of the .NET Foundation and .NET OSS

.NET Foundation Logo

The last time I wrote about the .NET Foundation was in the context of the “Project Maturity Ladder” proposal in late 2019 - a well-intentioned, but ultimately not really appropriate measure aimed at trying to increase the adoption of best practices among member projects.

The .NET Foundation has its heart in the right place - widening the range of “acceptable” OSS beyond what is produced in Redmond. I want that too. Everyone does, most of all the developers who aren’t able to use that OSS today because of the historical conservatism of the .NET ecosystem as a whole when it comes to OSS.

The current proposal puts the .NET Foundation as a centralized certification authority for the entire .NET ecosystem. That’s heavy-handed and will ultimately undermine the .NET ecosystem’s ability to become “bigger than Microsoft.”

The key takeaways from that saga, which is still recent in the minds of many maintainers who are participating in this week’s public outrage against the Foundation:

  • The .NET Foundation did not build any agreement with member projects before introducing the maturity ladder proposal, so it came as a surprise to its member projects;
  • The .NET Foundation appeared to be pursuing some different priorities than those of the member projects itself, the former pursuing continuity of business and professionalism of the projects whereas the projects themselves are much more focused on supporting themselves and reducing costs; and
  • In general, the .NET Foundation’s top-down approach to trying to manage the ecosystem wasn’t really aligned with maintainer’s expectations (set by the Foundation itself years earlier) of a bottom-up, collaborative federation of projects. Too much Cathedral, not enough Bazaar.

I issued a warning at the time that going down this road of treating member projects like they’ve automatically agreed to whatever the Foundation leadership decides to do by the virtue of joining it will lead to misalignment between the two groups of stakeholders. In other words, agreements have to be constantly renewed among the members - otherwise there will be less cooperation, less trust, and a lot more public pushback.

Two years later and it’s clear that the .NET Foundation did not learn these lessons.

I’m going to address this in three parts:

  1. Summary of the current kerfuffle;
  2. Paths forward for the .NET Foundation and its projects; and
  3. Aspirations for the .NET OSS movement.

Read More

On Generational Thinking

16 Aug 2021

On Generational Thinking

Three weeks to the day my wife and I welcomed our daughter to the world and ascended to parenthood.

When I first laid eyes on her, instantly recognizing my own features in her minutes-old face, I had one feeling course through my veins: a deep, uplifting, and eternal sense of responsibility. A lifelong commitment made automatically without the utterance of a word.

And it was then I understood what so many other parents, in their own way, had tried to communicate to me about parenthood: it’s a higher calling and you’ll understand what that means once you’re in it. In my unspoken promise to her I realized purpose.

I didn’t worry much about the unknowns while she was in the womb since there’s little, if anything, I could do about those. Instead I turned my attention to things I could control: preparing our home, our routines, our finances, and so on. But one nagging thought that straddled the can / can’t control divide tugged at my conscience: “what sort of world will your daughter inherit and how will you prepare her for it?”

Read More

.NET Open Source: What Happens When the Free Lunch Ends?

03 Jun 2021

.NET Open Source: What Happens When the Free Lunch Ends?

It’s a Thursday, which means: .NET open source drama.

Read More

Practical vs. Strict Semantic Versioning

31 May 2021

Practical vs. Strict Semantic Versioning

In my last post I went into detail on maintaining API, binary, and wire compatibility for open source projects and why that’s a nececssary ingredient for building professional-grade open source, the type that can be successfully morphed into a sustainable project should the authors pursue that outcome.

In this post I want to cover a subtle issue that you will inevitably run into as soon as you start having to worry about breaking changes for your users: semantic versioning (SemVer) and how strictly you should follow it.

My opinion, with which technical purists will likely find fault, is that strict SemVer is hilariously impractical and projects that follow it blindly actually subvert their own goal of building trust in their project. Read on.

Read More

Professional Open Source: Maintaining API, Binary, and Wire Compatibility

04 May 2021

Professional Open Source: Maintaining API, Binary, and Wire Compatibility

We’re in the process of defining some community standards for Akka.NET, part of which is expanding and modernizing our contributor guidelines to help users answer the question “how do I know if my pull request will be merged?” before having to ask anyone on the development team.

Read More

Sdkbin February 2021 Update: Revenue, Results, and Roadmap

10 Feb 2021

Sdkbin February 2021 Update: Revenue, Results, and Roadmap

We launched Sdkbin, our NuGet meets App Store marketplace for .NET developers on September 30th 2020, but with an important limitation: that Petabridge would be the only publisher on the marketplace until we had a chance to eat our own dogfood and work out functionality / user experience / business process issues with our customers first.

Read More

A Eulogy: the Tenacious Pursuit of Happiness

18 Jan 2021

A Eulogy: the Tenacious Pursuit of Happiness

On Tuesday, January 5th 2021 my grandfather, James Chester Roush, passed away in his retirement community in San Diego, California, peacefully in his sleep. He was 96 years old. He was a World War II veteran, serving as a navigator-bombardier for the US Army Air Corps on a B-26 Martin Marauder stationed out of Sardinia and later, Dijon France.

Read More

How to Play Software as a Team Sport

29 Dec 2020

How to Play Software as a Team Sport

I’ve written before about how to start contributing to OSS and I wrote for the Petabridge blog about “How to Use Github Professionally” - both of those posts were aimed at helping developers who had experience working in private software organizations bring their experience and passion into open source software and more specifically, how to use Github as a platform to do that effectively.

Read More

You Have to Have Skin in the Game

01 Sep 2020

You Have to Have Skin in the Game

Periodically I receive inquiries from people in the startup community who are exploring an idea or want an estimate on how expensive this particular idea may be to implement - as is common in the entrepreneurial community I’m happy to pay it forward (because I received help like this when I was just getting started too) and review a pitch deck, specification, or business plan and offer my advice if the person is someone I’ve interacted with online, in-person, or is referred through someone else I know.

Read More

Introducing Sdkbin - The Marketplace for Software Developers

15 Jun 2020

Introducing Sdkbin - The Marketplace for Software Developers

Sdkbin - the marketplace for developers

I’ve written several posts recently about creating sustainable open source projects by treating them like proper businesses - my journey for the past 5-6 years since founding Petabridge has been a quest to find a way to create sustainable, profitable business models built on top of the open source software I’ve spent the last 6-7 years developing.

Read More