oss 24 comments suggest edit

Today, I read a comment about a group of people who feel betrayed by the increase in code that Microsoft is releasing under an open source license.

I and my team are really troubled by MS’s apparent policy of Open-sourcing code from under our feet.

We are in an industry with rather paranoid clients that contractually bar us from using Open Source software. We have immensely enjoyed using Rx but its open-sourcing threw us into turmoil.

I feel like we have been betrayed, and will think twice before adopting some new Microsoft framework again, wary of it being Open Sourced later on without prior warning.

And I understand this feeling. I really do. Feelings of betrayal are a natural consequence of progress.

By betrayal, I mean the following definition from Webster,

to hurt (someone who trusts you, such as a friend or relative) by not giving help or by doing something morally wrong

The Catholic Church at the time must have felt betrayed by Galileo when he lent his support to the heliocentric model of the universe because it deviated from their orthodoxy.

Factory owners who profited on cheap labor from children must have felt betrayed by the passage of child labor laws.

Racists who held onto the idea that other races were inferior to their own must have felt betrayed by the passage of the civil rights act.

These are grand examples. But often we experience much smaller and simpler betrayals as a result of little tiny foot steps of progress. Such as the betrayal some might feel when changing winds in the industry makes their antiquated business practices harder to sustain.

It’s important to note, that betrayal does not imply progress. It can also result from regression. But doing the right thing always leads to some group feeling betrayed.

And what do we do about those who feel betrayed? It’s easy to deride them as an anachronistic holdover from a past that no longer has a place in the present. That’s the easy way to deal with it.

But for those who’ve only known the world to be one way all their life, feelings of betrayal are understandable when the world suddenly changes. Hopefully we can reach out and help those adapt to the new way. There’s room for everyone. It’s a painful path. But it can happen.

For the rest who would rather stew in the feelings of betrayal and hold onto their outdated ideas with an iron fist. These are the folks we should never, under any circumstances, let impede progress.

I’m sad to hear that these folks feel betrayed because their clients won’t allow them to use Rx now that it is open source. Rx is a powerful and useful library. But when you put it in perspective, clients like these are going extinct. History has never been kind to businesses who cannot adapt to change. Best to try and educate the clients about how their policy is regressive and detrimental to their future health. And if that’s not successful, then look for clients who are adaptable and wisely embrace open source as one of many means of ensuring their own survival in the long run.

Found a typo or error? Suggest an edit! If accepted, your contribution is listed automatically here.



24 responses

  1. Avatar for Chase Florell
    Chase Florell January 2nd, 2014

    Hear, hear.

  2. Avatar for OJ
    OJ January 2nd, 2014

    Well said Phil.

    There's an odd implication in the developer's message that the client feels that changing the license from closed to open source somehow changes the quality, reliability or security of the software. If that is indeed true, it's often the case that these things change for the _better_ when made open source, especially when things are loved as much as Rx is.

    Let's hope these devs are able to educate their clients or find others that aren't quite so "stuck in their ways".

  3. Avatar for Ben Adams
    Ben Adams January 2nd, 2014

    Don't tell them about http://referencesource.micr... ....

    Assuming its more than the licence

  4. Avatar for Damien
    Damien January 2nd, 2014

    I understand being being frustrated by the customer, but betrayed by Microsoft? I think they are fighting the wrong battle...

  5. Avatar for Abhinaba Basu
    Abhinaba Basu January 2nd, 2014

    I was betrayed by the garbage collector. I felt like cheating when coding in C#. As if I was not really earning my salary, the world of programming betrayed me :)

  6. Avatar for Steve Crane
    Steve Crane January 3rd, 2014

    Clearly they have missed the opportunity they have to bill their customers for the work needed to replace the newly open-sourced and suddenly evil libraries. Why should they feel betrayed when Microsoft gives them business opportunitites?

  7. Avatar for Bertrand Le Roy
    Bertrand Le Roy January 3rd, 2014

    The licenses used by Microsoft are usually BSD/Apache/MIT style, that enable commercial derived works. Take the library, re-release it under a commercial license (which the original license allows, if I'm not mistaken), sell them for an outrageous price what they could have for free. In other words, make them pay for their stupidity. Problem solved.

  8. Avatar for Kenneth
    Kenneth January 3rd, 2014

    I think you're right in focusing on the licensing issues. The major fears I've seen organisations have with open source, is fear of doing something wrong in the licensing jungle and the fear of the project getting abandoned. The licensing thing I can definitely understand - I have used open source for more than 10 years and do not even know the details of the different licenses. And even more, there has been some FUD-campaigning that said "if you use open source, youhave to open source your own project" - and risking losing control of your expensive software can keep any CIO awake at night I guess. The other problem with the risk of abandon-ware exists even for payware, and payware does not allow you to keep maintaining it yourself. So perhaps the "clients" in Phils post should be educated more to help them overcome (most of) the fears they have with open source software.

  9. Avatar for Charlie B
    Charlie B January 3rd, 2014

    The phrase "Adapt or die" springs to mind when reading this post.

  10. Avatar for Brad Westness
    Brad Westness January 3rd, 2014

    Yeah I don't understand the fear of abandonment with Open Source. I mean, sure it's a risk when including any third-party library in your application, but at least with Open Source you can continue to build and run your library even if the original maintainers stop actively contributing.

    With closed-source software, you run into situations where the company completely disappears or discontinues the project and at that point you're basically hosed since the source is nowhere. Worse yet, I've seen situations where a commercial third-party library has code to phone home and verify it's license key is valid every so often, and once the company shuts down the licensing server you're basically SOL.

    So even though limping along with an unsupported Open Source library is not an optimal situation, it's better than suddenly having to rewrite huge portions of your application because FlyByNight Corp suddenly disappeared.

  11. Avatar for Brian Hartung
    Brian Hartung January 3rd, 2014

    Worrying about open (or shared) source in the .NET ecosystem compromising security by granting visibility to the implementation details in the age of tools like Reflector, etc. (when so few vendors use obfuscation anyway) is absurd.

  12. Avatar for brennanMKE
    brennanMKE January 3rd, 2014

    I wrote up these guidelines and tips as a response to these comments.

  13. Avatar for trailmax
    trailmax January 3rd, 2014

    My thoughts entirely. To all client objections about Open-Source libs in their software, they should be presented with many-figure estimate to replace OS with in-house built replacements.
    I'm pretty sure clients will change their minds pretty quickly.

    Or pay up. Either way is great!

  14. Avatar for Tyler
    Tyler January 3rd, 2014

    Sadly, this problem (the client banning OS) is entirely due to ignorance and generalizations made about Open Source that are usually only attributable to the GPL specifically. The GPL and its variants and the paranoid reading of these licenses by "in-house counsel" (read, "can't make it practicing law on my own, so I work at a company who wants cheap advice and doesn't want to pay for anything else"). Blame this scenario on the GPL and stupid lawyers.

  15. Avatar for Judah Gabriel Himango
    Judah Gabriel Himango January 3rd, 2014

    As you say, businesses that don't adapt tend to crumble. Their software will be a little worse off for rejecting all open source libraries.

    Slightly off topic:

    Haacked, I love ya, but the Galileo thing is an often-repeated myth.

  16. Avatar for carrja99
    carrja99 January 3rd, 2014

    TIL that there are clients who forbid developers to use open source.

  17. Avatar for haacked
    haacked January 3rd, 2014

    Hmm, that seems like revisionist history to me considering the Vatican banned his books (later lifted in 1835) and the Church itself recanted

    Also, if this narrative were true, why would a Pope say this?

    > Thanks to his intuition as a brilliant physicist and by relying on different arguments, Galileo, who practically invented the experimental method, understood why only the sun could function as the centre of the world, as it was then known, that is to say, as a planetary system. The error of the theologians of the time, when they maintained the centrality of the Earth, was to think that our understanding of the physical world's structure was, in some way, imposed by the literal sense of Sacred Scripture.... - Pope John Paul II

  18. Avatar for haacked
    haacked January 3rd, 2014

    The fact that the church corrected its actions is admirable. I know many people who never change their minds in the face of evidence. :P I don't see the need to try and revise history to claim that the mistake was never made. It makes the recant unnecessary.

  19. Avatar for Nadav
    Nadav January 5th, 2014

    I think It's has nothing to do with quality or progress.
    It's just that before you could use product X in your application and now you can't.
    Think about this case:
    You have been using an open source product from company X and then suddenly they changed the license and now you can't use it.
    I know would feel betrayed...
    And as for 'educating the client'.. my client (i.e. the IT person in the department that ordered my product) agrees the guidelines are stupid but unfortunately they have to follow guidelines set by the government and good luck trying to educate them...
    And as for billing the for changing client (a many figure estimate, no less) for changing the libraries... as far as my client is concerned - why should he pay extra if the libraries I picked no longer fit is requirements? I wish I had customers that would pay for extra work like this...
    So yes, I will adapt, but don't expect me to like it when other companies decide for me when and what to adapt...
    Just because a framework or license is better does not mean that I want or CAN change my application to use it right now...

  20. Avatar for Judah Gabriel Himango
    Judah Gabriel Himango January 5th, 2014

    There was a spat between Galileo and the church, just not according to the often repeated myth. Check out the link in question, it answers these questions.

  21. Avatar for Audio Sancto
    Audio Sancto January 6th, 2014

    Thank you, Judah, for pointing out "the myth." Galileo wasn't wrong in his science but his work was incomplete, certainly far short of the threshold required to invoke the Augustinian reference to which Pope John Paul II was making reference. Galileo ran afoul of the Church because he was trying to dictate theology. Chapter 5 of this book by Tom Woods -- -- goes into great detail (more so than any other book I've seen) on this topic.

  22. Avatar for Tyler Ramsey
    Tyler Ramsey January 6th, 2014

    Love the points you expound on here Phil. I would extend it further to say that betrayal is driven by a change. As you say, this change can be "bad" or "good" and most folks feel betrayed when they feel that the change affects them negatively. I personally think that the steps Microsoft are taking are good and moving Microsoft in a positive and exciting direction.

    Like it or not we're in an industry of constant flux and it's my opinion that if you have time to get hung up on changes you feel affect you negatively rather than adapting to them you will fall behind very quickly. Technology's half-life is short enough that if you feel like you were betrayed by a change it won't be too long before you can influence the next one. It's one of the great things about being in the industry we're in.

  23. Avatar for Ambrose Little
    Ambrose Little January 7th, 2014

    I'm generally supportive of OSS where/when it makes sense. But this post is just an onslaught of, in addition to dragging the Galileo mythology into it.

  24. Avatar for David S
    David S January 28th, 2014

    I don't know if you have realised this, but software engineering is a competitive sport. So, if we don't do what the customer wants, then the customer will go elsewhere, and I, with my high progressive principles and modern viewpoint and education, will be out of a job. JDT in the original comment wants some assurance that there will be some consultation and notice before he is placed in such a legally vulnerable position, is what I got from it.