Encouraging F/OSS in a Microsoft enterprise environment

Hello,

I’ve been recently dealing with trying to change the work culture toward open source software (you can read more about it here: http://community.badvoltage.org/t/developing-community-in-a-centralized-culture/11385)

In a week or so, I have to give a presentation to the people who have the control over our computing resources and (eventually) our executive management and I want to sell open source in the most reasonable way possible.

The ideological reasons are well-established, particularly in a public organization like mine, where it’s a bit questionable to be giving public money and entrusting public data to a single private entity when other options exist. I can talk sense to lawyers and policy makers. IT guys, on the other hand, are a different story.

Practically speaking, how does one make open source software appealing to an organization sold entirely on Microsoft? Not just that, but our IT staff are only Microsoft certified, which means they won’t really want anything to do with Linux. Worse yet, we live and die on Sharepoint (and even Silverlight), which, so far as I know, has no good open source alternative.

Still, I’ve developed a few ideas thus far:

  1. Adopt a policy to prefer open source technology when / where it’s reasonable to do so
  2. Employ open data formats where they are available and meet the need
  3. Deploy Linux to our remote thin clients used by our maintenance staff (there’s a lot of them)

In the end, though, I’m really not an enterprise / server guy. I know the pros / cons of desktop Linux vs Windows, but not a great deal about the server side of things…

I often find going in via the back door is good, get the off systems that require microsoft first. Get people off Sharepoint, off outlook, get people to use open data formats etc etc. Do it one step at a time, these things take time.

You cannot (and probably should not) walk into a business and say hay guys we are changing all of our infrastructure because F the system. You gotta be sneeky like a ninja so they don’t realise you have done it.

1 Like

@MattJC - Right. Doing a complete transition all at once (no matter how much better the end technology is) is costly and undesirable, to say the least. I can’t imagine a complete transition to Linux, anyway.

Maybe a better question would be, what makes using Linux a better server-side option when you’re going to serve a desktop environment that’s entirely Windows - at least initially?

Should products not speak for themselves?

My understanding of your work environment is this: you have a lot of Microsoft trained professionals in a location where a lot of Microsoft products are being used. You’re going to be advocating to swap to alternative software (in the case of #2 and #3); maybe send everyone off to courses or replace everyone with employees who are trained in an entirely different ecosystem?

The Microsoft option is expensive, the training option is expensive, and the third option is ludicrously expensive.

Going back to products speaking for themselves: if you’ve got great products like Microsoft Excel, Vim, H&M standard hairbrush, then you can show them to people, and people use them if they’re suited for the need of the person or legal person.

As such, #1 sounds great, albeit empty. It’s not a strategy, a plan, or… anything that does anything, does it?
#2 sure, if you can afford to! It sounds good, and it works well enough where I work (I can open the .odf files of a colleague just fine) but I don’t see how this will do anything? It sounds like it would be something that would come across as “you cannot use this pencil anymore, you must use this other specific pencil with the same color that’s in the drawer” to all the other employees.
#3 I don’t know about your situation, but if there was a reason to not do so before, then why do so now?

So you’re perhaps looking for problems where you can propose a solution that is free software. It might be more effective to show where it could be better, instead of being an alternative for ideological reasons. An example might be your #3, if it is a cost saver in more than the licensing costs.

As for convincing IT guys, I would also not like to be chastised for not having all my clothes being bio cotton by a organic enthusiast. But if that person shows me the benefits of wearing bio cotton socks to work, then I would surely be more and more interested, instead of a company policy that says I should prefer bio cotton socks when possible.

Sorry if it is unclear, feel free to ask for clarification, and I hope you post your results and what the people you will present this to, will think about it.

1 Like

With this you must add the “benefits” must be benefits perceived by the person you are trying to convince.

What @Klover said. I think.

I do a lot of open source in a pretty MS-centric (though becoming less so) environment. I would never dream of trying to “convert” someone on evangelical or philosophical grounds. And sometimes, for the requirements, the proprietary systems are better. We may not like that, but it’s true. And we do ourselves no favours by denying it.

If there’s something your organisation does that could be better served by a Free solution, talk about how the Free solution does a better job at that particular thing. IME it’s a waste of time talking about freedom, vendor neutrality and even to some extent cost (which is often offset by the need for more training).

All that said, I think your first two points are good ones. Here are some (not all) areas where IME Free solutions may be better and a convincing argument can be made:

  • Deployment flexibility - you can deploy many copies of the same thing (e.g. dev environments or VMs) without running up huge bills or having to go buy something.
  • Marginal costs - you can deploy 1 or 100 things for the same cost. This can be a good argument in favour of investing in training.
  • Vendor neutrality - people care about this less than they should, but it is a thing.
  • Rapid prototyping and scaling out - don’t need to buy stuff to throw together a quick proof of concept. Works well alongside agile and DevOps approaches.
  • Technical flexibility - many Free things come with lots and lots of batteries included, if you just know how to use them. We use Linux as a desktop (a bit), as a firewall, as a NAS, as a virtualisation environment, as a web server, as a mail relay… Some of the things we do are very targeted to our particular way of working and would be hard/impossible to achieve on other platforms.
1 Like

@hillsy / @Klover - Your thoughts echo several of my own regarding the philosophical issues and I prefer not to get too involved with that. But since I’m not a server guy, I can’t really argue for Linux over Windows practically without quickly getting out of my depth.

To the point, our situation is a really unfortunate one. We are a large organization who’s computing resources are locked down by another government organization that serves us as well as many others. We suffer mightily because we don’t have control over our own firewall, webfilter software, user groups, etc… We can’t even delete application icons off our desktops…

Regarding my three strategies:

  1. Having a policy toward adopting open source software gives us the opportunity to try something different - it gives us something to stand on when the IT group pushes back because they don’t like our idea. Further, as a government organization, it’s actually illegal to favor a single private interest with public contracts when other viable alternatives may be available. At very least, we have to give the other options a chance to fail. For example, we purchase licenses from Adobe for digital document signatures… why? I can do digital signatures in LibreOffice. We purchase Photoshop licenses for a lot of people. But how many of our Photoshop users demand feature parity that can’t be found in GIMP or Krita? Not that I care to force unwanted FOSS on people - that’s just as bad as what we have to deal with now.

  2. Open data formats aren’t a big deal, practically speaking. Technically OOXML is an open data format, so it’s hard to argue we need to move to ODF. I can make the case for adopting ODF over OOXML to our lawyers, but in practice, the value would really only be in making an eventual switch to LibreOffice, I think.

  3. I would suggest a limited thin client deployment initially, of course, to get a feel for the challenges. But when both Windows and Linux clients support XenApp (which we use), why not explore Linux? It seems like a low-cost, low-risk way to get our feet wet and pave the way for a larger-scale Linux deployment later.

Really, I want us to give ourselves the chance to look at why we spend money on proprietary solutions without really considering FOSS solutions. So far as I know, the only FOSS solution our IT staff uses regularly is Notepad++.

You’re fucked :frowning:

1 Like

Not a fair analogy, since SMEs and up tend to have strong commercial agreements in place with respect to licensing and hardware choices, agreements that become even harder to get past when they’re tendered.

In your terms, the company has purchased several hundred thousand pairs of nylon socks for you and your fellow employees to use. At some point in the past, research was done to ensure that these socks were — at the time — the bestest and most appropriate socks evar. But enterprise ships are extremely slow to steer, and even though bio cotton socks may be comfier, eco-friendly and even cheaper, there are still several hundred thousand pairs of nylon socks to go through, and ROI says you will wear those nylon socks before bio cotton gets even a look in.

Honestly, there’s two IT departments. One is part of our organization - they support the deployed tech we use. The other serves several the government agencies, including us, and are responsible for procuring and deploying our tech.

Our support IT staff aren’t the issue. It’s the big dogs who we pay to procure and deploy our tech to us. If they won’t provide us the service we request (even though we pay them), then I have no problem picking a fight, there. But I don’t really want to do that over a technology that I’m not entirely sure we could successfully integrate…

So yeah, it’s complicated. And in the end, you’re probably right. :slight_smile:

Considering @Klover and @hillsy’s comments a bit further, I’ve been thinking it might be a good idea to sell this on ideological grounds as a starting point. The basic philosophy of open source (especially GPL-style) licensing is that the software and source code is freely available and can never be licensed in a proprietary fashion.

In public government, where stewardship of public money and transparency are big concerns, the idea that we should use software that can never become privately licensed and is publicly audited makes incredible sense and makes establishing a pro-FOSS policy a no-brainer.

Of course, I’ve no intention to rock the desktop like RMS does - with tech that’s over ten years old. But without a policy to drive FOSS adoption, there’s no real incentive to prefer it over proprietary solutions, even where the FOSS solution can provide a similar (and maybe even better) experience. Letting the tech speak for itself is important, but entrenchment in existing tech and internal politics can easily override that. A carefully-worded policy that forces us to consider FOSS solutions without requiring subsequent adoption seems like a reasonable place to start, to me.

I work in the British public sector. And, while you’d think the ideological argument of free-as-in-freedom would be compelling in that environment, it’s often not. That’s not entirely surprising even from a cost perspective - companies like Microsoft will give very deep discounts, so in the short to medium term there’s not always a clear cost advantage to open source.

That said, the UK government does have a policy for “digital” (don’t get me started on the misuse of that word) that emphasises open source code (not necessarily open source software). Some links:

It’s important to note the reasons for open-sourcing code tend to centre on collaboration and re-use across departments.

I think you’ve set yourself a hard task to try and promote the Free desktop, but good luck with it. I don’t know what your organisation does, but IME Free software often doesn’t have a compelling advantage on the corporate/public sector desktop outside a few niche sectors such as DevOps and non-MS development. I know for a fact that most of the people who wrote the above documents run Macs. People can point to the cost of LibreOffice all they like, but I can point to the per-seat cost of our Office 365 EWA and subtract the cost of retraining staff or redeveloping things like corporate document templates :smirk: I can also point to the farcical state of centralised desktop management in Linux compared to something like Group Policy.

Where F/OSS often does have a compelling advantage is on the backend. Linux instead of Windows Server. ZFS instead of ReFS. PostgreSQL instead of SQL Server or Oracle (no word of a lie, I once found an Oracle DB that had 700MB of data in it to run a web application). Nginx or Varnish instead of whatever proprietary and expensive hardware load balancer your IT department has bought. WordPress instead of your corporate CMS. These are all areas I’ve worked in before where F/OSS has been better.

To extend the excellent analogy from @neuro further

And in the meantime, one of your other departments has gone and bought a thousand pairs of shoes that only fit correctly with nylon socks.

You can make them fit with cotton socks, but you need to saw off people’s big toes. And strangely they don’t seem to like this idea.

2 Likes

Thanks. That’s really useful. (I work in a U.S. state department of transportation, btw)

I don’t know that I care that much where we use FOSS as much as we take the time to actually consider it and think about all the stupid ways we lock ourselves into proprietary solutions and then spend crazy money trying to migrate away from it when it doesn’t work. From that approach, a brief, one-slide stump speech about the ideological value of FOSS and the need for a policy or practice that forces us to at least consider FOSS solutions (where we currently don’t) doesn’t seem overly pushy.

On the desktop point - migrating between office software solutions does seem like it’d be a terrible headache to me. However, we pay for Photoshop licenses and (as a department of transportation), very few of us need everything Photoshop has to offer - we don’t employ very many graphic artists. So it seems to me there’s some value for FOSS on the desktop - albeit limited.

The server side is what I’ve been trying to wrap my head around. I’m not a server guy, so what you indicate there is really helpful. As for CMS, we use Sharepoint internally… Not realy comparable to Wordpress, but it might have some value all the same…

On the source code point, I’ve actually worked that into my presentation, too. We have a few projects that would be really good to get up on GitHub - I’m pushing for that, for sure.

1 Like

Well, the migration/lockin thing is a big drawcard for sure, and definitely worth pushing for. But it’s not really the sole domain of F/OSS. You may notice one of the pages I linked draws a distinction between open standards and open source.

I hear you on Photoshop. Users on one of my old teams insisted on it… to crop photos. I think we’ve gotten a bit better since then and AFAIK our IT folk will now only deploy Photoshop as a last resort having already asked the user if/whether Paint.NET or GIMP would be an OK alternative. I think there is scope for F/OSS “point alternatives” on the desktop, where the proprietary options are niche programs that carry a high per-seat cost. Unfortunately I struggle to think of many other than Photoshop or Illustrator, but I guess that’s a start.

CMS is a pretty all-encompassing term, and those systems have a way of getting into all sorts of bits of your organisation’s workflow. I’d be very cautious about saying WordPress is a drop-in SharePoint replacement, simply because they normally do very different things. It was just an example :slight_smile:

I just thought of another - we run all our virtual infrastructure on Proxmox. Which is maybe not quite VMware, but it’s pretty good and a whole heck of a lot cheaper even with a support contract.

Yeah as a general point I think F/OSS has a much stronger value & functionality proposition on the server side than it does the desktop. If you wanted to push for this over a number of years you might benefit from getting a bit more server-side knowledge in due course. Not that hard to do in the F/OSS community, considering what many of us do for day jobs.

[edit]
The ZFS vs ReFS one is an interesting recent example. We wanted to do some geo-redundant network attached storage, where we replicate stuff between two physical locations at the block level (for efficiency). Turns out, there’s a new feature in Windows (which may or may not be part of the new filesystem, I don’t remember and can’t be bothered finding out) that does this. Nice. So we looked into costs. As is often the way, this particular feature was only available with Windows 2016 Datacenter Edition or whatever they call it. Which was $BIG_MONEY for the number of CPUs we had. I’m sure we could’ve negotiated a discount, but it was never going to be cheap.

But guess which other filesystem does this block-level replication? ZFS. So in the end we went with Ubuntu 16.04, which supports ZFS out of the box. That also gives us the option of commercial support via Canonical if we choose to take it up later. There were one or two things (e.g. Active Directory integration) we had to design around, but nothing insurmountable. Total savings, I don’t know but probably several tens of thousands of pounds. You can thank me later, UK taxpayers :wink:
[/edit]

1 Like

Yeah. That’s exactly the attitude I’m going for. I don’t want to force anything on anyone. I just want folks to think about it. Especially new employees who don’t have a preferred workflow - they’ll likely adopt FOSS tech more readily than existing employees would. The last thing I want to do is what is they currently do - someone who doesn’t have anything to do with our day-to-day operations decides for us what technology we get to use and everyone just has to suck it up. They’re doing that to us with Office 365. Not that I think it’s bad (we’re still on Office 2010), but no one asked us if we wanted it or what issues it’ll create for us when it’s deployed. Communication is really our worst problem, I think.

I hate Sharepoint with a passion. Problem is, it works. :slight_smile: I can’t imagine trying to cobble together a replacement for it in the way we use it and claim it’s “better”. Maybe I’m wrong in that. It would be nice to point to Wordpress and maybe one or two other technologies and say that there is a way, but at this point, I’m better off really just focusing on small-scale integrations.

Thanks for the links, by the way - they’re really useful.

Oh yes definitely. I meant it more in the scale of some of the mentioned IT guys using Notepad++. Things that are useful to people are, simply put, useful. If you want to create a FOSS house, then you tend to want to start with getting the idea in place. It tends to start from the employees.

First, you have one Joel who’s a big fan of desktop Linux, and later you have a Bob who sees that golang is much easier to set up in a virtual machine.

As an analogy, this morning someone next to me on a plane had a specific laptop which was foldable, she turned it into a tablet right then. The screen was also able to be very bright. Now I am interested in this brand of laptops over the course of a few hours of talking, among other things, about that laptop. Maybe if I keep encountering those laptops, I will see if I can get one of those laptops from work too - if I continue to be interested and impressed. And perhaps, I might be interested in more products of that brand.

But also similarly, if the FOSS examples doesn’t seem to be up to scratch, like I’m not going to step away from MS Office if LibreOffice is the alternative, then people might not be very interested.

EDIT: I see some good comments and examples in this thread. Interesting to read :slight_smile:

@hillsy’s comments provided me a more solid ground to argue from when I make my presentation. I definitely feel a little more comfortable talking about it, even though I’m really speaking out of my depth in terms of our organization. I’m presenting to a room full of IT professionals, and I’m just a lowly professional (non-IT) engineer :slight_smile:

I’m really taken with the idea of playing well with others - it’s a key element of open source and it’s really contrary to the way we do things now. It’s the idea of community / collaboration vs. control. I’d like to introduce open source in a collaborative context, rather than the standard control context that’s typically employed.

Being able to focus on positive points and easy wins are critical things I want to highlight when I present - which is this coming Monday…

1 Like

Please do share with us!

mHjIaUd

1 Like