That's what this makes me think of. Never really wanting to let their children go.
.NET Foundation executive director Claire Novotny resigned last week, but board member Shawn Wildermuth said that this did not solve "issues with the community" on which the foundation will now focus. The phrase "issues with the community" in Wildermuth's post should not be taken to mean that the community has misbehaved. It …
Will be interesting if they can square the circle, I don't think they will have much choice but for MS to either loosen the reigns a little or to change the foundations mission.
Look at something like Json.net* which is a dependency for a lot of the official Azure packages, there was quite a lot of hassle caused when the official nuget packages lagged behind a major version of json.net and broke builds if you accidently updated to an incompatible version (and as its such a widely used package you could update to an incompatible version by updating a different package with a dependency on it, such as StackExhange.Redis which you would want to do to fix a memory leak caused by the old v1 connection multiplexor) which led to us having to postpone a reliability fix until the Azure Storage packages were up to date, same with Azure Services lagging 2 or 3 versions behind its deployed azure storage libs and the latest on nuget
In my opinion the quote of
"It's about enabling Microsoft to recommend and take dependencies on libraries not created by them instead of creating new ones that squash projects,"
is mostly right, but really the Foundation should be instructing/co-ordinating MS to keep its packages up to speed with the latest public OSS packages, not making the OSS packages trustworthy. The foundation should be funnelling back into MS the state of play of the foundations projects and making sure MS isn't the ones effecting the trust in the OSS packages. And on that front they are an abject failure as its MS's fault we ended up with a Faustian choice of no more random crashes but have to run production with pre-release (and breaking changes did happen between pre-release and release ready Azure storage packages) or put up with random crashes but working access to storage knowing that the problem is fixed but unsupportable. FWIW I took a middle option and rearchitected the product to separate the storage aspect into its own project and had a separate redis service which then was re-integrated into one service when the dependencies aligned, basically 4 weeks of unnecessary dev work and 3 deployments because MS couldn't keep up with projects it should have been following....
*It might not have been json.net it was a couple of years ago but pretty sure it was something like that
** And before someone says LOL that's what you get for azure, AWS is no better and decisions were made prior to me joining the company
"The relationship between large corporations and open source is often strained."
I think many of them looked on it as a PR move. I made them look trendy, hip, cool or whatever. The fact that it has legal significance for the way software is developed passed them by - and maybe bypassed their legal departments. It doesn't seem to be the prerogative of large corporations either as some startups seem to have done the same.
"** And before someone says LOL that's what you get for azure, AWS is no better and decisions were made prior to me joining the company"
Yes. I was surprised when I worked on a project that involved Amazon Redshift, that it's PostgreSQL 8! It didn't cause me any troubles, but that's a 15 year old version of PostgreSQL! Not quite the same situation, but I assume they heavily customized it, and at that point found it was too difficult/not worth it to heavily customize newer versions, as opposed to just cherrypicking fixes and possibly a few features from newer versions and backporting them.
> PostgreSQL 8
That's interesting ; that's around the last fully-relational PostgreSQL before it was stripped out and downgraded. I think it was 9 that was no longer relational, merely pseudo.
Looks like the Amazon Redshift boys were a lot cleverer at joined-up thinking than the PostgreSQL boys.
I beg your pardon ; I cocked up: seriously misremembered dates/versions. On getting a chance to look at my notes:
Relationality was stripped out of PostgreSQL in 1999, moving to a straight ISAM-alike 3GL interface/capability: MVCC. Which it looks like they kept until version 8. Version 9 is when they added pseudo-isolation so you could proxy relational data security in a multi-user environment albeit with a lot of rollbacks. So Amazon Redshift doubled-down on the We-Dont-Understand-Databases approach of the post-1999-pre-version9 PostgreSQL boys, for absolute speed.
Details here, a presentation re PostgreSQL vn.9's new SSI "serializability", including a run-thru of the non-relational near-relational algorithm and implementation, also some quite interesting side-by-side benchmarks/graphs comparing the 3 alternatives in practice (p.11/1860): version 8, version 9, relational :
"Serializable Snapshot Isolation in PostgreSQL" , Ports & Grittner, 2012 -- https://arxiv.org/pdf/1208.4179.pdf
The 38th International Conference on Very Large Data Bases, August 27-31, 2012, Istanbul, Turkey.
Proceedings of the VLDB Endowment, Vol. 5, No. 12
> 'One could certainly implement a serializable isolation level for PostgreSQL using S2PL, but we did not want to do so for performance reasons.
Indeed, the original POSTGRES storage manager inherited from the Berkeley research project had precisely that, using a conventional lock manager to provide concurrency control ; its replacement with a multiversion concurrency control (MVCC) system in 1999 was one of the first major accomplishments of the PostgreSQL open-source community.
Subsequently, the benefits of MVCC have become firmly ingrained in the PostgreSQL ethos, making a lock-based SERIALIZABLE mode that behaved so differently a non-starter. Users accustomed to the “readers don’t block writers, and writers don’t block readers” mantra would be surprised by the additional blocking, and a S2PL approach was unpalatable to most of the developer community.'
...if only you had the power of will to act on it.
A co-maintainer of the Marten project said last week: "After… two years, we don't see any positive impact, any help from being a member."
Then leave. Start empowering yourself and actually act on your concerns.
"JetBrains was one of the first to join the foundation when it was announced. However, the broken promises, the approach to how it treats OSS, and the overall lack of value to both JetBrains and the community is the reason we no longer are sponsors."
JetBrains recognized that they are responsible for their own actions, and supporting a "foundation" that does nothing beneficial for your membership is no longer worthy of support.
Yes, you CAN follow their lead. Break off and set up your own development support groups. Once enough people send the Foundation a message via actions such as these, they'll get a clue.
Or become "redundant".
As a .Net developer, I'm both fascinated and horrified in equal measure by how this is unfolding.
Microsoft, under Satya, has made great strides towards OSS. They had to, the future is services and services depend on OSS. It was the right strategic decision; the alternative was a slow descent into oblivion.
But Microsoft is a huge corporate beast. It will take a long time for the message be fully understood in every corner. Some teams are better at engaging with the community than others. Even the core (excuse the pun) of .Net hasn't got there completely - the debugger is still resolutely (and bafflingly) proprietary.
I get the impression that the DNF was heavily influenced by the lawyers at its inception, and hasn't ever managed to escape. Hopefully this will act as a wake up call, and some C-level execs (Satya?) might intervene. The idea was good, but the execution is sorely lacking.
I really hope this gets fixed, the languages and ecosystem really deserve better.
I was amazed to learn that membership of the DNF has a dollar cost. That seems entirely bass-ackwards to me. The DNF should be doing everything in its power to attract and support the best .Net OSS out there. It should have an investment pot where it could (carefully, transparently, and democratically) sponsor promising OSS initiatives towards their objectives. That's not for sentimental notions, the dollar return from the network effect would far outweigh the cost if done right.
To me, it is really simple. If you want "control", buy out Microsoft's share.
That is the only thing Microsoft and such understand: the bottom line of the dollar.
They really don't care about your hopes, dreams, and wishes for a glorious future of open source community driven development. If they ever *said* they did, it was with all the truth and honesty of a presidential candidate kissing a baby. :(