Standard: Request for a Formal Proposal Process

Created on 15 Dec 2016  路  5Comments  路  Source: dotnet/standard

I'm very excited for .NET Standard; however, I am concerned that there is no formal process for changing it.

For example, how does one propose APIs to be added?

The FAQ says that the board (a closed group of a few runtime vendors) decide.

I do not think that this is sufficient to keep Standard evolving with the demands of developers. I worry that only features that these vendors are interested in will get added and the larger .NET community will be voiceless.

I would like to see a formal proposal process, open to anyone, that we can track, to see changes made to Standard.

What is the current state here? Are we supposed to use github issues to change the standard? If that is the case, then perhaps a proposal_instructions.md doc should be written so that people have a template or something to work from.

documentation

Most helpful comment

The lack of a proper process is currently simply a result of us not needing one yet. This is likely going to change.

@terrajobst I disagree. A proper (open) process should be put in place as soon as possible. The lack of proper process is what

  1. almost introduced a (truly unnecessary) breaking change into .NET Standard 2.0
  2. left confusing information all over the place
  3. created .NET Standard 1.5 which is currently not directly implemented by any .NET platform (i.e. an unnecessary version increment)
  4. lead to the (unavoidable) plans of .NET Framework 4.6.1 supporting .NET Standard 2.0 even though it does not implement some APIs .
  5. Not having a definition of what it means to target a specific .NET Standard version.

Sorry for shamelessly plugging my own issues (#123, #133) in this comment, but I am obviously very passionate about the .NET Standard and I don't want the .NET Standard to follow the same path as Metro/Modern/WinRT/Windows Store/Windows/Universal Windows Platform in terms of confusing the hell out of interested developers and ultimately losing lots of interest and momentum.

Edit: Added 5th bullet point.

All 5 comments

I agree we should probably get this documented. @terrajobst can you take a stab at it.

@martinwoodward for visibility

I've had a 1:1 conversation with @praeclarum to understand the scenarios and goals. We need to flesh this out a bit more. I'll bring this up in a meeting with the .NET Foundation TSG to see how we can improve the process.

To be honest, the current process isn't very crisply defined because the upcoming version of .NET Standard is basically simply adding a ton of APIs that all existing platforms already have -- except for .NET Core.

Moving forward, I think we'll have to drive extending the API set of .NET Standard much more carefully and we'll likely have to change & improve our process to deal with that. The lack of a proper process is currently simply a result of us not needing one yet. This is likely going to change.

The lack of a proper process is currently simply a result of us not needing one yet. This is likely going to change.

@terrajobst I disagree. A proper (open) process should be put in place as soon as possible. The lack of proper process is what

  1. almost introduced a (truly unnecessary) breaking change into .NET Standard 2.0
  2. left confusing information all over the place
  3. created .NET Standard 1.5 which is currently not directly implemented by any .NET platform (i.e. an unnecessary version increment)
  4. lead to the (unavoidable) plans of .NET Framework 4.6.1 supporting .NET Standard 2.0 even though it does not implement some APIs .
  5. Not having a definition of what it means to target a specific .NET Standard version.

Sorry for shamelessly plugging my own issues (#123, #133) in this comment, but I am obviously very passionate about the .NET Standard and I don't want the .NET Standard to follow the same path as Metro/Modern/WinRT/Windows Store/Windows/Universal Windows Platform in terms of confusing the hell out of interested developers and ultimately losing lots of interest and momentum.

Edit: Added 5th bullet point.

This should be addressed by https://github.com/dotnet/standard/pull/764

Was this page helpful?
0 / 5 - 0 ratings