
Why We Terminated Our Partnership with Microsoft - gortok
http://paulstovell.com/blog/re-next-decade-of-open-source
======
noen
The whole article paints a picture of Microsoft eating OSS OSS projects, but
the author begins by clearly stating that the project he is going to reference
(Octopus Deploy) is not OSS.

Instead, he is complaining that Microsoft is competing with his own
proprietary, commercial offering. I'm not sure why he keeps pushing the
narrative that this is bad for OSS, when the only two projects mentioned
aren't.

Full Disclosure - I worked in the Azure DevOps org for a long time, and
several of his assertions about Microsoft's auto-defacto status for developer
tools and services aren't true, or at least weren't true during the time this
article was set in (2010-2015).

~~~
ljm
> While Octopus isn't OSS (though much of it is)

I lost interest in the author’s argument at that point. They’re upset because
someone is going to give a better offer than half a mil a year for the same
product. And they’re saying, “think of the OSS!” The same OSS they’re
exploiting to charge half a mil. How much of that money does the OSS see? Do
they get proper support and maintenance?

Azure is a formidable competitor but a slow moving beast. They should be well
geared towards innovation and not depending on their... yes... half a mil
price tier. The fact that’s written on paper and not a dedicated sales/VP call
is crazy.

It sounds like they need to find something unique. Since every cloud provider
is moving this direction.

~~~
sounds
Err, free software does not mean "zero dollars."

They're not exploiting the model to charge money for it.

I know Octopus Deploy uses proprietary code.

But if you're going to complain about the model, at least know what the model
is. It's not about the amount of money you must pay to obtain a copy.

~~~
Dylan16807
> Err, free software does not mean "zero dollars."

That's why they asked "How much of that money does the OSS see?"

If it's getting a significant chunk, then things are great.

If all the money is going to the proprietary part, then they have no high
ground over Microsoft.

Nobody is complaining about money charged for OSS support and development.

------
Dinux
I don't agree with the article at all. The point the author is making has less
to do with OSS and more with competition. Business is never 'fair'. The reason
people flock to AWS/Azure is because of ease of use, integration with other
systems etc.. The burden of maintaining two (or more) ecosystems just because
one is 'a little better' isn't worth it. Sure there will always be an
alternative that fits the product/team better.

Besides, MS and alike have thousands of products and services. Are they
supposed to point to every-other-alternative out there before they enter the
market?

~~~
cc81
I don't think it is necessarily about being fair it is just that the
philosophy of developers in the .NET world has always been if MS has something
then that is the thing we use. I've felt that within Java there are usually
more competing products and flavors.

Often the product MS provides is good enough but I remember in the tail end of
the web forms disaster there were some good open source MVC libraries inspired
by the Java ecosystem but they never really got traction and people kept
building things with shitty web forms. This is until MS came with ASP.NET MVC
and people started to switch.

I don't think Microsoft wants to kill alternatives. I think they really want a
healthy ecosystem to get more developers using .NET but they also want to be
able to create a complete developer experience and that sometimes clashes and
kills other products due to the culture.

~~~
kevingadd
There are definitely cases where the community wins out because it delivers
better quality - Newtonsoft.JSON eventually was recommended by MSDN
documentation instead of the built-in .NET JSON APIs and the new in-
development API is being written by the author of Newtonsoft.

~~~
cc81
That is true and that was a pretty big shift and together with embracing open
source more, going all in on Azure, supporting Linux etc. there has been
changes and that has reflected somewhat in the community as well.

I also think people being used to npm in the frontend will make them more
likely to start looking around nuget for things that can support their use
case better than what exists by Microsoft.

------
mikece
"If you look at the announcements for Microsoft products that compete with
their own ecosystem, one thing you'll very rarely see is any acknowledgement
of the OSS projects they displace."

I can see why you would be upset but what obligation does Microsoft have to do
that? One reason CIOs will go with Microsoft solutions lock-stock-and-barrel
is that it's there's one account rep, one consolidated bill, one "throat to
choke" if there's a support need. The alternative would be to deepen your
partnership to the point that something like Octopus becomes a de facto
Microsoft product (complete with bundled support when you go with
.NET/Azure/etc). Either that or go out of your way to show why DevOps managers
never get fired for choosing Octopus.

No, it's not "fair" but Microsoft isn't the only company doing this and it
_would_ be unfair to suggest they are doing this out of malice.

~~~
wolco
Malice is a loaded term.

When Amazon tells you they want to buy you, never sign and come out with a
competing product months later we feel malice.

But in this case we don't becauce Microsoft copied an existing product and
open source it we say no malice exists.

Big companies are copying smaller successful products on mass. It is not
illegal, it's not out of malice. But its getting tiresome. How many products
can facebook buy or copy and crush before we change the rules. Avoiding this
was one of the pillars of copyright long ago. Now we have copyright for and
copying trade secret powered development for big players.

~~~
tomnipotent
But it's ok when small companies or OSS projects copy big companies? Isn't
that double standards? GitLab was a perfect example when its first release(s)
blatantly ripped off the GitHub interface.

Edit: Removing "amusing"

~~~
abdullahkhalids
It is indeed okay. Phenomena that result in the market being more competitive
are good, phenomena that result in the market being oligopolistic are bad.

~~~
tomnipotent
I don't like this argument. Can I apply it to free speech then? It's either a
level playing field, or it isn't.

~~~
ptx
Which sports with a level playing field allow one team to have a thousand
times as many players in play as the other team?

~~~
megablast
Look at soccer leagues. Some teams have many millions to spend on players,
others only have a few. And the ones who do have many millions are the one at
the top of the league. In the Premier League, you have Man Utd, Chelsea,
Liverpool at the top, all outspending every other team.

------
scarface74
_Prior to 2016, Octopus Deploy was the only popular option for .NET developers
to automate their application deployments, and we 'd single-handedly helped
thousands of dev teams to go beyond "right click, publish". In fact, at the
time, Octopus Deploy was responsible for a large % of the largest Azure
deployments that were happening._

I had never heard of Octopus Deploy until 2018. There were plenty of ways to
automate deployments for .Net over a decade ago. In fact, Azure Devops is
basically TFS online that has been around forever.

This is like the company that said Apple “stole” their idea of using an iPad
for a second screen for a Mac even though other options existed since 2010.

~~~
paranoidrobot
> There were plenty of ways to automate deployments for .Net over a decade
> ago.

There's a difference between just pure "automate deployments" and what Octopus
does.

While sure there's been tools like NAnt around forever, back when Octopus came
out* there wasn't a good easy to use workflow tool for deployment
orchestration.

Sure, you could use TeamCity/Bamboo/TFS to deploy your code, but it was really
focussed on the CI side of things, and the process of building a pipeline was
often quite a pain to manage, with them not really understanding
'environments'.

You could, and in many cases often did - tell your CI system to deploy direct
to a dev/staging environment - but it really wasn't intended for production
environments. If you wanted to orchestrate deploying to more than one machine,
it was a pain, and doing even tens of machines required that you built a ton
of tooling to do this.

Octopus comes along and gives us the ability to:

\- Define environments (ci, dev, staging, preprod, production, etc) \- Define
a common deployment workflow, with branching/conditionals based on the
environment/machine \- Define a release workflow, for how a release needed to
progress through environments (eg: a release MUST pass deployment on a preprod
environment before it can be deployed to production) \- Define a release which
comprises one or more artifacts (particularly useful if you have multiple
parts to your applications - such as a website as well as a service) \- Give a
good overview of what's deployed where. \- Easily roll back a release for an
environment - just pick up the previous good release, and re-deploy it to that
environment.

While sure I could have achieved all of that, the reality was that few people
would put all the effort in to building it themselves, AND making it reliable.

* = I recall Stovell talking/writing that the whole reason he built Octopus in the first place was because he kept running into the same issues over and over when he was at a consulting firm. There just wasn't any tooling, free or commercial, that would do these things nicely.

~~~
scarface74
All of this can be done with TFS and agents running on the deployment
machines.

This is the earliest article I could find about using TFS for deployments from
2010.

[http://geekswithblogs.net/TarunArora/archive/2013/02/23/cont...](http://geekswithblogs.net/TarunArora/archive/2013/02/23/continuous-
integration-automated-deployments-and-release-management.aspx)

Don’t get me wrong, while for the most part, I hate dealing with “pets” and I
was hired partially to kill all the servers we could and go all in on AWS’s
native hosted toolings, Octopus Deploy is a joy to use even just to deploy
CloudFormation templates where the actually code is either in S3 (lambda) or
ECR (Docker) not to mention deploying to our remaining pets.

Just the ability to use Octopus Deploy’s library sets that are scoped to
environments that can be referenced in Config files and templates is worth
paying for.

On the other hand, I am on a mission to kill Jenkins and replace it with AWS
CodeBuild - Serverles builds using a Docker Containers.

------
zvrba
From the linked (Aaron's) post:

> .NET users need to culturally normalize the idea of adopting non-Microsoft
> .NET solutions when those third party technologies are better on the merits.

I'm a .NET developer and say: no. If Microsoft's solution satisfies my needs,
I won't adopt a 3rd-party solution, especially if it has other nuget
dependencies. Managing nuget packages can become hellish (looking at you
Newtonsoft.Json) and MS at least takes some care with that.

I'm icky about adding dependencies and by using MS's solutions I can be
relatively sure that they won't depend on latest shiny OSS package that could
become a liability in the future.

~~~
Nullabillity
> Managing nuget packages can become hellish (looking at you Newtonsoft.Json)
> and MS at least takes some care with that.

So.. MS wrote a horrible package manager, and the workaround is to use more MS
products?

~~~
zvrba
So which package manager is NOT horrible when it comes to handling conflicting
dependencies? Esp. when combined with developers specifying wrong constraints
for dependencies, either out of cluelessness or carelesness?

------
kaizendad
I read this as "evil Microsoft Product Managers _researched the market_ and
_understand the competition_ and if they decide to compete with you watch out
because they will be evil folks who _understand market needs deeply_ and _are
intimately familiar with competitors_."

I mean, I get that's hard to compete with for a smaller company or an less-
formal org, like those who maintain many OSS projects, but that's just...
being a good product manager. If you don't like that, hire a Product Manager
and get those skills yourself.

------
thrwaway69
I wonder what can you do to stop a big company from devouring your share in
the SaaS market. What strategies are there?

GitHub devour-ed a lot of tools built for it.

Google do it with their search cards, amp and many other micro things.

Apple does it with incredibly popular apps and integration.

Every big company in short do it and they all have big pockets to lose money
on the software until competition is sucked out. Unlike hardware, where you
will be pressed with anti-competitive charges [0] for above. It doesn't seem
to happen with SaaS.

0] [https://tech.co/news/eu-fine-qualcomm-2019-07](https://tech.co/news/eu-
fine-qualcomm-2019-07)

~~~
mikece
It's not only a software thing; Amazon has been accused (or sued?) for anti-
competitive behavior by creating "Amazon Essentials" version of lots of very
popular items being sold through their site, even advertising the Amazon
branded item right on the original product's detail page.

~~~
okusername
Same happens in brick and mortar stores. Im germany a drug store chain had a
decade lomg partnership with an organic products / plant milk producer who did
a lot to buold the market, and when the market actually got more mainstream
and profitbale, they kicked them out and replaced them their new house line of
organic products.

~~~
thrwaway69
You are right but it's the scale that is worrying.

Tech is accessible everywhere. What it does is set certain expectations for
users in different countries. In india, most people won't pay for apps and
they are not profitable to run many services which big companies do for free.

Maybe it's good in the short term. For consumers, certainly but I wonder if
tech will become stagnated like other industries with monopolistic control.

------
gwbas1c
Large business with deep pockets has a product with a deficiency. Small
entrepreneur sees a need and develops a bolt-on improvement that fixes the
deficiency. Large business also sees the deficiency and fixes it.

I just don't understand the article's mentality. The only way Microsoft "owes"
the small entrepreneur anything is if that entrepreneur had patents or other
IP that Microsoft violated; or if the two companies had some kind of non-
compete agreement.

It seems like, in this situation, the options are to pursue acquisition, have
IP (like patents), or figure out how to carve out a niche and compete.

IMO: The "bolt-on product to fix something wrong with someone else's product"
business model appears short lived and requires a rather early exit strategy.

~~~
JMTQp8lwXL
These types of businesses shouldn't be taken past the concept stage. If the
premise of your business is existing wholly on one other entity, it's a
constant risk that'll never go away.

~~~
gwbas1c
I don't know if I'd be that blunt: Depending on the situation, a patent plus a
buyout can be very profitable. That's one of the reasons why patents are
useful, they encourage innovations on top of other peoples' products because
you can use them to force the other party to pay you something when they try
to copy your invention and undercut you.

Makes me wonder why Autofac had no patents.

Besides, there's nothing wrong with making a quick buck as long as you know
it's a temporary situation.

------
lostmsu
But for me theirs is 10 times better as I don't have to install it anywhere
and then maintain it myself.

~~~
mikece
There is that... but Microsoft screws up their advantage by constantly
changing their product names (VSO? VSTS? Azure DevOps? Why don't we just use
GitHub... and what is HockeyApp's new name?) to the point of confusing the
very market they are trying to serve.

~~~
flyingswift
Unfortunately, the org as a whole has completely collapsed as the result of
the GitHub acquisition. I wouldn't be surprised to see ADO be deprecated in
2-3 years in favor of GH

~~~
delfinom
It's sad because GitHub is honestly a children's toy compared to ADO and
GitLab in terms of large scale management of repos. GH shows no interest in
fixing and improving long standing deficiencies.

~~~
strbean
Could you elaborate on these deficiencies?

------
devlife
It looks like you wanted to do OSS but you soon realised that there is
potentially good money to be made in commercial software. Your company also
spent all the years building a good product but the money bug bit you and you
started charging exorbitant prices. The greed kicked in. And now you are
whinging because MS came and ate your cake.

Please don't get me wrong on this, making money is the reason why we live in a
world which has all these amazing things. But it is a jungle and survival
matters here.

------
NicoJuicy
> Prior to 2016, Octopus Deploy was the only popular option for .NET
> developers to automate their application deployments, and we'd single-
> handedly helped thousands of dev teams to go beyond "right click, publish".

Mmm, after research. I just used Jenkins at the time and I thought TeamCity
was the other option.

~~~
gortok
Having used all three, I was rather impressed by Octopus Deploy’s ease of use
and deployment. You can set up Jenkins to do whatever you want but it’s a
pain. You can also set up TeamCity to deploy, but again it’s a pain. Octopus
Deploy is not a CI server, it’s a CD product. That’s Important. It specializes
in deployment/delivery, and because of that it does better than Jenkins and
TeamCity out of the box for deployments.

------
blt
I find it kind of confusing that anyone attempts to make money building
developer tools for MS platforms. The behavior described here is MS's standard
operating procedure. Their goal is to control everything. They want to provide
a fully integrated MS software development platform that's slightly easier to
use than open source, supports legacy code, and comes with legacy users.

If there is ever an opportunity for building a tool that augments / integrates
with the MS platform, that opportunity only exists because MS either 1) lacks
the vision, or 2) has not chosen to place engineers on that idea. It is a
transient condition. If the idea is worth a lot of money, MS _will_ eventually
try to replace the third-party tool with their own.

------
tybit
As soon as Azure became critical to Microsoft’s success they should of seen
this coming, it would be unacceptable for any large cloud vendor to not offer
a first party deployment service.

Having said that when I last used Octopus a few years ago in a pets VM world
it was an excellent experience. Does anyone know if they’ve managed to keep up
this quality for containers/serverless/immutable VMs?

------
smortaz
Related: this guy rode through iran on 90cc bike and talks about his
experience:

[https://youtu.be/_2LEgowbzSc](https://youtu.be/_2LEgowbzSc)

