Advocating Linux / OSS to Management.
An anonymous reader writes "I'm the Senior Developer at a fairly large agency, we're currently a 100% LAMP shop, but I've heard a reliable report through the grapevine that the management a few levels above our office wants to standardize our region on MS .NET. As I'm sure most of you can appreciate, to do such a thing would be... counterproductive, and I could really do with a hand conveying this to a manager whose only real knowledge of Linux is "if it's so good, why would you give it away for free"?"
The difference between a professional and an amateur is that amateurs work for the love of it and professionals work because they get paid. Sort of the difference between a spouse and a hooker. Which side does MS fall on?
.. Blub falls right in the middle of the abstractness continuum. -- Paul Graham
Don't be fooled by management's official reasons why they don't go with Linux or other open source software. It really just boils down to FUD.
There's still a prevalent image of Linux and other open source software out there as just hobbyist software. The reason I hear most often cited for not considering open source software at my company is, "There's no one to hold accountable if it breaks." Even when I point out companies that offer paid support--people to be held accountable for making sure the software works--they still chant the "hold accountable" mantra. Those companies aren't big enough, they may go out of business any minute now, blah blah blah.
It's really disgusting sometimes. I've seen software come into our environment that I know for a fact and can demonstrate is crap, and offered alternatives for it. I'm told, "That's all fine and good, but when the software we're going to use breaks, we'll have someone to sue over it." Of course, that doesn't really happen, we always just end up suffering for several years until the next version comes out or some other closed-source competitor comes in and convinces management that they're the way to go instead. Having people to "hold accountable" (which they never are) is more important to my company than having something that actually works.
I don't know what to suggest. Another trait of large companies is that they won't do something until everyone else in the world is doing it. Once a company reaches a certain size, there's no longer a culture of trying new things and trying to separate yourself from the competition; it becomes an unrelenting strive for mediocrity. Right now, everyone else is moving to .NET, so that's probably where you'll end up, regardless of what is best for your company. About the only chance you have is to put together a pretty Powerpoint presentation showing that switching to .NET will cost a billion dollars. Make costs up if you have to. The problem is that if you show it will only cost a million, they'll still do it anyway just to be on that magical .NET bandwagon, and you'll need a ridiculously large cost to justify not doing so.
If I go with open source my [insert vendor name here] won't take me out for expensive 'business' lunches and golf days anymore. Oh and I might have to give the Yacht back...
Just do your job and install and maintain whatever the hell management decides.
.NET
Linux is not going to go away simply because a few chowder-head PHBs don't know anything about it. If that were true it would never have gotten established like it has.
If YOU want to use Linux, install it at home and use it there. Let the employer have whatever s/he wants, the employer IS the one spending money, not you. It isn't your job to go on a crusade to change their minds.
When your shop will have spent lots of money to convert from your current set-up to whatever they want and you wind up with more problems to boot, THEN they might start looking for solutions and be more open to something other than
There is nothing less attractive than people trying to force things on you, don't be one of those people yourself.
As the world continues to explore and adopt Linux, things will change, but there will still be people running archaic outdated and sub-par systems, even when Linux will dominate.
I don't know the meaning of the word 'don't' - J
"That's all fine and good, but when the software we're going to use breaks, we'll have someone to sue over it." :-)
MS's licenses specifically state that the operating system is not guaranteed to work for any purpose. You could at least write an angry letter to Linus Torvalds and he'll usenet how stupid you are.
I like Linux, btw.
Please stop stalking me, bro.
why don't you remind them of why you are a 100% LAMP shop in the first place?
Or rather...
That you have N hundred thousand (million?) dollars worth of developer, administrator, user skill, experience, time, training invested in he current (working) solution and any change would have to take account of requirement to re-spend that N hundred thousand (million?) dollars worth of money. This being over and above the capital cost of the new standard and the cost of the implementation project.
Then, as a shareholder (you are a shareholder as well, aren't you?) you ask if that's the best way to spend the IT budget by replacing a system which seems to be doing the job with already sunk costs.
Spending on this kind of standardisation effort is rarely worth it. Basically, for a 10% profitable company, the savings would have to be 10 * more than simply not spending the money in the first place.
Deleted
1) Migration to a totally different platform costs money, lots of money.
2) If it works, why fuck with it?
This will put the onus on your manager to explain why he wants to use so much money to move to windows. Any reasons he can give at that point should be easy to shoot down.
Have you used proprietary software before such as Calyx Point? We asked them if they had a feature in their application before we migrated from a Linux fileserver to a Win2k3 fileserver/Point Data Server, and they said Yes they do. Turns out, that feature was a bug, because it got "fixed" at the next (mandatory, due to updating laws) upgrade.
One upgrade, I reported (scratch that, I had to explain it to the call center guy) 3 bugs in their software. I have waited for support for over an hour before I hung up. In fact, the last couple times I've called, I've had to hang up before a person answers. Last couple emails I've sent have gone unanswered.
You know who's fucked? Me. You think I can convince them to switch apps? Haha haha ha. ha.
Please stop stalking me, bro.
Question: Ask him if he charges his children for the parenting he gives them? Must be worthless, then, right?
Question: Ask him how it is in the company's best interests to spend money on something you can get for free?
Question; Ask him how much he thinks it would cost to convert over, and then give him an estimate of what you could do with the money on your existing LAMP platform.
My guess: FEAR. It seems to me he's afraid that *something* *will* go *wrong* and he wants to be able to Cover His Posterior. (See: Sarbanes-Oxley Act.) Address his fear by pointing out the REALITY of what happens WHEN something goes wrong.
Of course, he could mention about coding a work-around, but that holds true for either platform. It's a non-factor.
It might help to also point out that with LAMP, it is possible to be pro-active and actively search for vulnerabilities. Seeing as others would have the same interest in safety, this has already been done to a some extent, but you still have the option of doing this yourself. With MS .NET, you're screwed. It's closed source and there's no way to investigate what problems are there. Security by obscurity? Right.
Testing for vulnerabilities: There's a big difference between what is POSSIBLE with: Black Box (.NET) vs White Box (LAMP).
Still, with a bug in .NET the manager can say it's a bug with Microsoft and wave his hands around it. Sounds good, but in the meantime, his hands are tied, and
the brown stuff is still hitting the spinnie-thingie. With LAMP, he CAN do more than just wait for a fix... and any fix that can be implemented in less than a month is a win compared to Windows.
I know I waved my hands around some in the preceding, but the manager really doesn't care HOW your code works, or even WHAT your code is written in. He's just looking at an abstract "applications that do FOO". Speak to him at his level. Get him to be specific about his fears. For each one, address what could be done with either platform. Provide a reasonable time line. Keep harping on having to wait for MS to get back to you with a fix, while, with LAMP, you could have already constructed one.
Very valid argument. Incidentally, any of you with girlfriends that are providing you with free sex should carefully consider this. The streetwalkers in your nearest city must be better because otherwise they would not be able to charge for it. While your girlfriend might be OK for some amateur playing around, if you are looking to become serious and marry, you need to find someone who is professional about this.
I wish I could mod this one up, but since I already made two comments prior...
There's a lot of differences to consider when considering MS and OSS. I think among the differences that I think is the most significant is the local company's intelligence required. With Microsoft's software, the batteries (brains) come included. With OSS implementations, the people putting it together need more collecting intelligence and understanding of what they are doing.
The consequences that befall afterward, however, are quite well illustrated in history... worms and other malware spreading wildly because of default configurations and all that. (This is not limited to Microsoft... put an idiot behind the wheel of a Linux box and it'll suffer too!)
It's not that people are smarter when they use Linux, it's that smarter people who see things as they really are choose Linux.
I work in a more political environment, so the "let's switch over to MS so consulting firm XYZ can have some tax dollars, too!" rings through the halls fairly often (believe it or not, GOP or DFL are both equally willing to toss people's money to their buddies every chance they get). However, since it usually moves at the speed of politics, it almost never fully comes true. The price tag is either too high, or the solution is too impractical - even if we start down that road, we never finish (oh, you bet the consulting firm still makes out like a bandit).
Moving to Microsoft takes a big decision, and a big investment. A lot of things tend to go wrong along the way. The LAMP option meanwhile can sit on a back burner until either the MS solution doesn't live up to it's hype, or the cost of ownership starts to impact your business and you start looking at other options.
LAMP can also be a great integrator. We use Apache in places as a reverse-proxy for various IIS servers running proprietary commercial software. While the IIS server is still vulnerable to attack on port 80, all other attack vectors on that platform are cut off. The Apache web server in the front also allows for central (and extremely customizable) logging and better error reporting & handling.
There are ways to keep LAMP in the MS shop, and generally when the money counters DO realize the difference in the cost of ownership, LAMP (in one fassion or another) tends to succeed in the long run.
"The large print giveth, and the small print taketh away" -- "Step Right Up", Tom Waits
You haven't been approached yet to look into it, right? Then take a small part of your infrastructure, just a few servers. Add license costs, hardware upgrades and so on. Don't forget porting and an extra admin to do the work. You'll end up with a pretty big number very quickly. Then send it up to your management chain as a proposal for a diversification. Don't mention that you heard rumors about a switch or anything. Just sell it as an idea someone in your department had and you wanted to do a small trial.
:)
Its simple. I helped a friend do it at his company. We took about 10% of the infrastructure - the cost came out to be around 250K in hardware and licenses and about 1.6M for porting. Of course it was denied. Then, a few weeks later the official directive came in and my friend responded with something like "ok, I'm confused. I just got turned down for a small portion, 10% at a little less than 2M, and now you want me to do everything?" Never heard from them again
Too bad I can't take credit for that idea - I got it from a bunch of guys that did the same where they worked and their proposal cut the whole talks about a transition short... Important thing is you show you looked at it before you were asked to on your own will. Otherwise you'll just be pushed aside as a Linux fanatic or something like that. But if they see you already looked at it and management already said it is too expensive, things look very different.
Peter.
Having people to "hold accountable" (which they never are) is more important to my company than having something that actually works.
There's something to that observation. If management spends millions on Microsoft products and something stops working, there's the convenience of blaming Microsoft. Strangely, that appears to work. There's no accountability assigned to the people suggesting they spend millions on products that require near constant tweaking to keep working right. Or that a less expensive and more reliable solution was overlooked.
I'm a hired gun so I'll use whatever the customer wants. It all pays the same whether I'm setting up a LAMP server or 2003. I do make certain to present both alternatives, so when the costs of the Microsoft environment balloon out control I can point back to the fact that they made the choice.
They just never seem to learn. Once in a while the light bulb comes on. I have one small office customer replacing his laptops and workstations with Macs. Not all at once, just as the machines are due for replacement. Many of those office workers would have been fine on Ubuntu, but he just wasn't ready to go that far yet. Another mid-size customer lost their Windows-or-die admin and want to talk about replacing the 20 seats in their call center workstations with Linux. That's pretty much a slam dunk since the call center apps are all web-enabled.
Some signs of progress. :)
That's our life, the big wheel of shit. - The Fat Man, Blue Tango Salvage
Just go ahead and make your case. Talk total cost of ownership (generally the purchase price is a small fraction of the TCO).
Will, for example, you have to hire people to provide maintenance and troubleshooting ? Also talk about security.
Most windows shops I know wind up devoting more and more of effort into security, and thius is also a part of the TCO.
Use your industry knowledge (have your competitors been recently compromised or hacked ? Did the OS play a role in that ?).
You also need to figure out how much more things will cost after the transistion and make a case for those moneys too, in case things don't go your way.
Be realistic and objective, and make your case. Good management will appreciate this, even if they don't agree with you. You will probably learn a lot
about the hierarchy in your company by the reaction you get, and that may be useful in your planning for the future as well.
2. By making it as Free as possible you lower the entry barrier to a vast international body of security researchers and software developers to both audit and improve the codebase of software they are dependent on.
If I was your management, and I saw the remarks you've made, I would make sure you were no longer at the company in a matter of days.
... and if I was your management, I'd make sure you were no longer at the company in a matter of minutes. No severance package, no golden handshake, just clear your desk and eff off.
It's attitudes like yours that are gradually sinking all aspects of the engineering industry, not just software. Forget actually coming up with a system that works, just make sure it's cheap and has a lot of buzzwords to sell. Never mind that the people that do the work - that keep *you* in a job, don't forget, that make the things that make the money - are telling you that you're getting them the wrong stuff.
Don't try and advocate that Linux be the only thing that ever gets used anywhere. Instead, adopt the attitude that there are some applications where Linux offers tremendous benefits, with others where it really doesn't. If you already use Linux yourself, you should be able to identify where those are. Above all, if there are any individuals at your workplace who do not want Linux, accept it. Do not try and force it on them.
Do not mention "freedom," or any of the FSF's rhetoric as one of Linux's supposed "strengths," because it isn't. Mentioning it will only cause you to be perceived as wierd and probably threatening, and will alienate whichever muggles you attempt to speak to about it. People want to be able to perform computer-related tasks. They generally do not want to become political activists. End of story.
Realise that although you yourself might be an ardent Marxist, most muggles aren't. What that means is that if something is considered valuable, they expect a dollar value to be assigned to it. Don't attempt to fight this, either, because doing so will simply mean again that you are seen as weird, and the person you're talking to is alienated from Linux. Instead, tell them about one of the companies that have put Linux in a box, but that aren't signatories to a Microsoft agreement, (Red Hat comes to mind) and explain that said company offers support as well, so that management won't feel as though installing Linux means trying to do something that they have no knowledge of, alone.
Try to figure out how to come across as normal in general. That means that you're clean, that the FSF doesn't get mentioned, and that none of the other meaningless abstractions that you might foam at the mouth about (but which normal people again don't care about) don't get mentioned either.
If you focus purely and solely on what Linux can do for management on a technical level in a few key areas, you will have a chance to sell it to them. Forget the rest, (in terms of philosophy/politics etc) because management will only view that as bullshit, which, (despite what you might think) it genuinely is.
Working in a large agency your management should be familiar with financial justifications and cost of ownership models which are necessary to determine whether such a major financial undertaking will have a cost benefit and whether it is the correct choice given the options. I for one dread working on either but you may be able to get some assistance from someone in your finance department if you collect the data ahead of time.
.NET I suspect that is exactly what you are up against. If the financial justification for .NET shows that switching is a mistake and the TCO of the existing platform is better than .NET then be prepared to debate the data in your study and, probably more important, be prepared to counter all the non-sensical spew and lies you'll be faced with concerning the use of open source, i.e. its communism, its unsupported, its amateurish, ad infinitum.
You will need the initial investment cost for each option, including the LAMP setup even though it is already in place, and you will need all the ongoing expenses over the projected life of the systems you put in place. Make sure you include EVERYTHING. The easy parts will be licensing costs for each software package and any CALs required for connections to the servers, service subscriptions, training, hardware, etc. Some areas can get tricky such as the cost of support infrastructure such as network, power, air conditioning, floor space, but do what you can to collect the numbers.
If possible your objective should be to produce a cost metric based on the service provided, i.e. $/page served, $/transaction, etc. That would help create an accurate comparison in the event there are significant performance differences in the choice of hardware/software.
But keep in mind, if your management is on a religious jihad driven by misconceptions and fraudulent claims about open source you will lose no matter how obvious it may appear that switching to another platform will have no financial benefit. Considering the huge cost and risk involved in swithing an existing platform and IT department over to
As a senior developer it probably isn't a bad idea to go through the financial process just to get a handle on some of the terms the management and financial departments throw around like IRR, ROI, Hurdle Rate, etc.
I am upper management, and I advocate OSS whenever possible.
As a manager, I'm interested in two things - cost and productivity. If I can use a piece of software and get the job done faster and cheaper, I'll use it. End of story.
There are no other variables.
Now, as a technology geek - I have two 24" monitors on my desktop (running XP) and a 17" laptop (running SUSE) with me all the time - I want to use OSS because it is cool and because I despise Microsoft's business model. However, that philosophy will not fly with executives. They simply want to know how I'm going to save money and get stuff done faster. They don't give a sh-- about Linux vs. Microsoft.
One other thing. I personally have a $7M budget for FY 2007/2008. About $1.5M of that is for software services and supplies and another $2M is for hardware. That means the majority of my "expenses" are for personnel. Again, executive management wants to know how to make things cheaper / faster / better. If I need to spend more on personnel to get an incremental savings in software, it ain't gonna look good.
The Kai's Semi-Updated Website Thingy
only real knowledge of Linux is "if it's so good, why would you give it away for free"?"
While I can't help much with the advocacy side, I may be able to help you with this one.
If your manager went to business school, he probably took price theory. If he did that, the question above is very easy to answer. Just ask him, "In a free-market capitalist society, what is the efficient market price of a mass market good whose marginal cost of production is zero?"
WARNING: If he has not taken price theory (and even if he did but did not really "get" it) and you present this to him, chances are he will not understand. In that case, he may react much like a gorilla presented with a clear box full of fruit that is closed with a latch that he does not understand.
Price theory says that the efficient market price of any mass market good is equal to the marginal cost of production. The marginal cost of production is the difference in cost between producing the first unit and producing the second unit (it's a little more complex than this, because marginal cost tends to not be a straight line curve, but it is a flat straight line with operating systems, so it works). With something like an operating system, the marginal cost of production is zero - once you make the first copy, the second copy costs nothing to produce. Therefore, the efficient market price of operating systems is zero.
The following is from the Wikipedia entry for price.
Theory of price asserts that the market price reflects interaction between two opposing considerations. On the one side are demand considerations based on marginal utility, while on the other side are supply considerations based on marginal cost. An equilibrium price is supposed to be at once equal to marginal utility (counted in units of income) from the buyer's side and marginal cost from the seller's side. Though this view is accepted by almost every economist, and it constitutes the core of mainstream economics, it has recently been challenged seriously.
In short, the more interesting question is, "Why would any corporation in a free market capitalist society pay for an operating system?" It makes sense to pay for service because the marginal cost of an hour of technical support is significantly non-zero. It does not make sense to pay for an operating system.
Stop-Prism.org: Opt Out of Surveillance
You make the claim that we all "know" a move from LAMP to .NET would be "counterproductive." Why would we automatically know that? We have no insight into your organization's business needs and technology offerings. Perhaps it's your blind allegiance to platform, and the lack of depth to your argument that makes your business so quickly dismissive of you. If making the move truly is as bad as you say, then you should have justifiable business reasons for it. You should
.NET platform. The easiest thing in the world to do is pout and blame everything on the PHBs. Are they planning to integrate your home-built software with other third-party packages (such as accounting or CRM software)? Are they looking to expand your technology beyond a web platform? (since we have no insight, I'm throwing some pretty raw speculation out there) If you have an understanding of why the higher-ups feel a platform migration is a worthwhile venture, you can attempt to find areas where your current platform does or can fill those same needs.
.NET migration, it needs to be done by GOOD developers who care about their craft. Outsource a project like this and you end up with poorly-designed, tightly-bound software. It will be .NET applications written as if they were scripting languages.
1. Understand why your management feels the need to move to a
2. Understand why you think there is nothing wrong with staying on your current platform. Don't forget, effort is a key piece here. Such a big platform migration will not be done easily or quickly -- I would say that's at LEAST a 1-year project for your team. So that's an entire year where the organization is focused on the basis of its technology and not on moving the business forward. If management thinks the magic wand is a bunch of cheap programmers from India, they're in for a huge disappointment. If you're going to get the most of a
It's painfully easy to say "we do it better now." It's a little more difficult to explain why. If you feel strongly about the topic, come up with a reasoned argument. If you can't do that, perhaps your position is not so strong after all, and you get what you deserve.
Let me give you a suggestion what I hope will be more constructive.
/. won't solve anything.
Firstly, I'm going to discount the "fancy lunches" thing. I don't think it's as prevalent as some on here would have you believe, and even if it is in this case it's not the kind of thing you can easily fight against. This leaves us with "managing the business properly".
Any (sane) business owner/high level manager doesn't spend any serious quantity of money unless there is a clear business benefit. Remember those words: "Business benefit".
Now, a business benefit boils down to one of two things:
1. Helps the company make money.
2. Helps the company save money.
Every other reason, once you've drilled down far enough, ultimately boils down to this. For example, "Reduce risk to the business in the event of trouble" is just another way of saying "There's a strong chance that if something goes wrong, it will cost us a small fortune. This purchase either reduces the likelihood of something going wrong, or it reduces the size of that "small fortune". In other words, it saves money."
This, by the way, is precisely why management often have trouble understanding why software would be given away for free ("where's the business benefit?") and also why most of Microsoft's FUD has been along the lines of "Windows costs less than Linux".
Understanding this means that you can now ask yourself/your manager what the perceived business benefit of such a move would be. There is a possibility (unlikely but not entirely unknown) that there is a genuine business reason you haven't considered which, with the best will in the world, does provide a solid business reason. If this is the case: live with it or leave. You were employed to do a technical job, not preach a religion.
If not: get organised. List the pros and cons of each solution (including your current one), emphasising the things which are likely to be of concern to those higher up than you.
Getting upset and having a moan on
" a manager whose only real knowledge of Linux is "if it's so good, why would you give it away for free"?"
"Because the best things in life are free - you PAY for crap like Windows."
Ask him is he things solaris or java or aix are "unprofessional" products. Versions of all those available for free downloads - heck, Sun sent me the install dvds for opensolaris for free. Then ask him why he thinks that a few thousand programmers working at Microsoft can beat out a world-wide network of programmers, many paid by industry leaders like IBM and Novell, whose work is peer-reviewed!
Would he feel confident if his doctor started recommending non-peer-reviewed cures and drugs? Does he like the idea doing away with the notion of a fair trial by a jury of his peers? Would he trust an airplane, a nuclear power plant, his fridge or toilet if they ran Windows?
Then tell him that he really needs to get with the times - his attitude is stuck in the '80s. - that's 1380, when everything was run by guilds with "secret knowledge." Lincoln freed the slaves in 1863, and since then, people want more and more of that "freedom" in all parts of their lives.
1) Donated Time
A lot of OSS is donated time; there isn't a strict corporate deadline to meet where things get duct-taped just to keep PHB happy and get the project done.
2) Peer review
If something sucks, it is noted. Even when something doesn't suck, people will say it sucks and many eyes will be on it.
3) Source code
You get full access to the source code to PROVE how it is handling your company's assets. If you don't like it, you can presumably change it, when you want it changed.
4) Robust development base
Typically, people working on OSS software do it because they love the work - not the pay. This equates to a system where people have a vested interest in how well the system works.
boycott slashdot February 10th - 17th check out: altSlashdot.org
Start looking around for other jobs.
The issue here isn't about .NET vs LAMP, or proprietary vs open source. I would give the same advice if the decision had been the reverse, ie switch from 100% .NET to LAMP.
Basically your company's upper management is going to make a huge decision without any input from developers. If senior developers like yourself weren't consulted before the change, it's unlikely they have a migration plan that is more detailed than "1) Switch from LAMP to .NET 2) ???? 3) Profit!". Is this a company you want to stay in?
It all depends on how individuals see the world around them. I think managers, who are mostly business school educated, don't see the world the same way the rest of us (developers) do.
Actually most managers do not have an MBA. Many have undergraduate degrees in science and engineering. Also, I'm in an MBA program right now and there is no shortage of engineers and IT (including admins) in my class. Some of my professors who have decades of real world experience in strategy and marketing at major corporations have undergraduate degrees in electrical engineering, mechanical engineering, etc.
They probably don't understand why someone would work for free or why someone would volunteer at a soup kitchen.
That is an extremely ignorant statement. There is a lot of charitable work being performed by business schools, fund raising, volunteering, etc. Additionally, a couple classmates actually work at non-profit research or charitable organizations. I know several that made donations of their time to various charities before entering business school, and who have also continued to make such donations despite having far less spare time now that they are back in school. The school also maintains a list of local charities that could use help in some area of business.
You are engaging in the same ignorant stereotyping that many around here complain of with respect to how geeks, and technical issues/people in general, are portrayed on TV and movies.
Most of the managers would never think that work could be fun unless it payed lots of money. Manager-types chose business school just as a way to get more money, it was a pretty good shortcut -- you go to school, pick business as your major, party for 4 years with buds, and then one of their dads hires you as a manager -- the system works great
That is also a fairly ignorant statement. I have BS and MS degrees in CS. Except for 2nd year calculus and theory of computation I am routinely using more advanced math in marketing classes. Yes, I was completely shocked. Yes, I used to hold the same arrogant and erroneous opinions you now hold.
Developers became developers because they like to write software. Most found ways to get payed for it, but they didn't dream of reaches first, then thought that becoming a developer would get them there and chose 'computer science' as a major in college (those that did do that, probably ended up switching to 'communication', 'business administration' or 'comparative literature' before the 2nd year.)
Bull. The vast majority of CS graduates that I have interviewed basically got into it because someone told them it was a good career path. It is difficult to wade through the applicants and find those truly have an interest in the work. Also, donating time to an open source project does not necessarily identify those with an interest. Some of the more savvy career path types realize that this is an easier way to get something on the resume outside of classwork.
Also, some individuals donate time to FOSS for non-altruistic reasons such as ego, improving credibility/reputation, getting some experience in an esoteric area before applying for a job, etc. I'm not saying there is anything wrong with this. Just that your are romantically naive about FOSS developers.
Step 1: Tell them it's $150 a license for Linux Super Ultra.
Step 2: pocket $150 a license.
Step 3: profit.
That's a lousy argument in a business environment.
The theory that big busineses are all about reducing costs is an oversimplification. Some small businesses worry about keeping costs as low as possible, but generally this is not a major issue for the big ones because they essentially control their markets and can charge whatever they want. The consumer is picking up the tab, so who cares about costs. Take the US telecoms market for example. Does anyone honestly think they're trying to control costs. If so, then why is the US so pathetic in comparison to the global market. Large corporations are just as wasteful as the large governments that they've taken over for in so many industries like telecoms that used to be heavily regulated. There's no efficiency added in this transition, just a new social model. What big businesses do is not to cut costs at every corner. No, what they do is whatever is best for the business ecosystem that they are a part of.
To know what that is, you need to understand some of the core principles of business. There are two particularly important categories of costs from a business perspective regardless of size and those are labor costs versus capital costs. Theses costs are not of equalent from a business management perspective. Labor costs are under constant pressure because they drag businesses down. Labor costs are the enemy of business and as a manager you always look for ways to reduce labor costs so as a worker you might get the idea that cost controls are what business is all about. But that's only half the picture. The other side of the coin is capital costs. Capital costs, on the other hand, are actually a good thing if you run a business. If you understand this you understand that there is a genuine fundamental resistance to open source in business for reasons that are much more complex than simply whether or not it costs more. Open source cuts capital costs and empowers labor which is not a good thing from a business leader's perspective.
And I'm not blaming the managers here. The people who make decisions in a company are just as much trapped in the game as the lowest level janitorial employees. They have to compete against other companies using the rules that companies play by and thus they need to make their decisions according to the laws of capital and not according to what makes sense or what they think is right or wrong. Often times business decisions do not make the slightest bit of sense from a practical perspective and yet they work from a business angle.
So arguing about whether Microsoft costs more is really not going to make much of a difference. The point is: even if Microsoft does costs more, it can cost a thousand times more and still make sense from a business perspective because it is counted as a capital cost and capital costs are good from a business perspective. Look at how US telecoms are still committed to an extremely costly ATM infrastructure in an on-going effort to block out VoIP. Clearly, reducing costs, especially capital costs, is not a major goal for large corporations. Labor costs, on the other hand, those make sense to cut. Ask your boss if he would like you to take a cut in your wages and I'm sure he'll totally see your point.
Fundamentally, management is going to make a decision based on business reasons, not technical reasons. These business reasons may be irrational, immoral, or insane, but they nonetheless will have at least a veneer of business logic about them.
Some possibilities:
We're switching to MS because if we switch to their development platform, their rep will give us a 20% discount on or enterprise license agreement, and that'll save us 3X as much money as it'll cost us to buy windows kit.
We're switching to MS because we just signed a deal with PWC to manage our data center and they have no expertise in mySQL, but they've got 20 MS SQL Server DBAs they can bring in tomorrow.
We're switching to MS because we've hired pretty much everybody in Akron with actual Linux talent, and we still need to grow the operations side of the house. Switching to a more common platform will let us expand the data center staff without having to send all our new hires to a six week boot camp.
Mine you the real reason might be totally venal:
We're switching to MS because if I do this deal, next year MS will hire me as AVP for Ohio sales and that'll triple my salary.
We're switching to MS because I'm sleeping with the sales rep.
We're switching to MS because they've got pictures of me sleeping with the sales rep and my wife won't like that.
etc.
Point though is that it's a business decision that will be made for business reasons, and you're rolling in here with an emotional objection:
We should not switch to MS because MS is bad, mkay, and I don't like them. MS Bad, Linux Good.
If you roll into a business discussion with an emotional objection, you're going to be, at best, politely ignored, and at worst told to shut up and let the adults talk.
There may very well be a perfectly valid business case to be made to stick with LAMP, but you have to make a business case, not an appeal to emotion, or technical superiority, or anything like that. To do that effectively, you need to know why your company wants to go to MS in the first place. Until you know that, and can build a tailored business argument to rebut it, this while discussion is just intellectual ego stroking.
You want to actually make an impact as opposed to just getting worked up on slashdot?
Don't ask slashdot. Ask your management if it's true, and ask them why they're doing it. Then ask for two weeks to put together a counter proposal to address their specific business concerns.
Management types like *business* reasons. So here is what I tell people.
.Net is desired, it may be better to focus on Mono instead. Mono is compatible in most cases with .Net (and will run even some Microsoft .Net tools like WIX), and it is fully cross-platform unlike .Net. If you write Mono code, you will be able to run it on Windows, Mac OSX, and Linux, but if you write .Net code, you may not.
:-)
The fundamnetal difference between open source software and Linux is not whether people pay but rather who pays for what when. Microsoft pays developers to build software and absorbs all of the costs themselves. They then charge license fees to recoup those costs and make a profit. Open Source software costs money at the development stage too, but only the people or businesses that need those changes enough to pay for them must do so. Consequently the difference is that open source software spreads the cost of development around up front on an on-demand basis, while Microsoft charges in arrears and must control certain aspects of the use of that software to make money.
As a result, moving to Microsoft software would require:
1) paying license fees
2) paying someone to track software licenses
3) a move from a solid, peer-reviewed codebase where users and developers actually talk to eachother to one where marketing runs everything.
4) scrapping all existing code and building everything from scratch.
5) The loss of a large measure of control over your own existing infrastructure.
Furthermore, Microsoft tech support is pretty much worthless these days.
Additional points the management should consider if there are concerns about Linux:
1) IBM is far larger than Microsoft and is putting substantial development effort into Linux. Linux is no longer the hobbiest operating system and there are a lot of people working on making it work well on high-end hardware.
2) If
If they are not convinced, take a look at my web page and call the sales number
LedgerSMB: Open source Accounting/ERP
Open source is not free. Someone pays for it somewhere.
.Net that is not a priority for Microsoft to fix, you are stuck. If it happens in Mono, your .Net programmers can fix it if they have to and move on. :-)
The difference is: you only pay for open source if you have needs that go beyond work that has already been done.
The key business advantages of open source are:
1) Greater business freedom (no software licenses restricting business use, except in the case of the Affero Public License).
2) Greater control over one's own infrastructure, less dependence on outside vendors if things go badly. For example, if you have a major problem in
3) The ability to pay for anything imaginable if that becomes necessary
Lets face it, a large percentage of open source developers do not work for free. Some, like my self, do donate some time, but I also make the bulk of my living charging people for development work on open source products.
LedgerSMB: Open source Accounting/ERP
I realize that you're not quoting said manager directly, but it sounds like your premise is that he/she thinks that "free things can't be good." Well, as we know, there's free as in freedom, and free... well, you know the rest.
.NET CLR already installed on the machine, use IIS that came with it... the stack exists, and the IDE is available without monetary burden, so you're really arguing one free stack against another when you presume that the base OS came with the machine.
I wouldn't suggest arguing on the "doesn't cost anything" path, since, as you've pointed out, many PHBs don't understand the concept of a quality product that someone gives away. As a matter of fact, I would recommend pointing out that current software distribution models are such that they'll give you the product, but if you want support, well, then the checkbook comes out. "Oh, you don't run Linux in a production environment without paying. You want support for your critical stuff, right? You pay for that. Same for Solaris. They'll send it to you free to install, but if you want to call and ask a question, it's going to cost you if you don't have a contract." Once the manager sees where the vendor gets their revenue from, they feel more comfortable.
But you're talking development languages, and that's another kettle of fish. You can get a long way using C# as your development platform without spending a dime. Presuming your workstation runs XP or some similar, you can download Visual Studio Express without charge ("free"), run it against the
I think the best approach you can make is to argue the technical merits of either stack. Take off your zealot's hat and give a good run at arguing FOR the idea of standardizing on the Microsoft stack and see where you get. Then do the same for standardizing on LAMP or whatever using the same criteria. If you're a good analyst (many developers aren't, no offense), you'll put together a defensible presentation.
Good luck.
The Spoon
Updated 6/28/2011
well I hate to come off as an M$ supporter, but I work everyday with M$ servers and .net development. to be honest, VS is the best IDE I've ever worked with, and the SQL server GUIs are far more intuitive than anything I've ever seen for MySQL (or Oracle for that matter...). if you know java, VB or C# will come to you quickly and to be honest my time-to-completion is basically halved with .net/TSQL over java/MySQL.
there will be a learning curve, and yes you have to reboot a server every few weeks for updates. it's not like you can actually "set and forget" any server anyway (at least not responsibly, unless you have no audit or monitoring policies). Besides, if you don't wanna learn something new every week, why are you in IT? ok that sounds a little harsh. sry.
anyway, you prolly won't be able to fight this one. get to know .net a bit. I've always been able to get it to do what i need.
good luck
Air is free, and it seems pretty good to me.
I suspect upper management is more concerned about basing a business on software that has no support, and that seems like it could go off in any direction on the whim of its authors and the company would be left in the dark unable to do business.
Most corporate types want assurances. they want to know that they will be able to get supply of the things they need (in thise case: OS, computers, developers).
From their limited knowledge they aren't certain that Linux will support computers that come in next year, then what do they do, base their business on older stuff and try to migrate over to something else at the last minute. The aren't sure that the guys working on Linux might just decide it's boring and quit working on it, suddenly there is no more free OS anymore. again they have to adapt the business at the last minute.
none of this is true of course, but this is the sort of impression I have gotten talking over with business types that didn't want to adopt linux or wanted to switch away from it.
There is a feeling that Microsoft will always be there, and that they will always be ready to sell you the software you need for your business. which is somewhat true, but not entirely so.
“Common sense is not so common.” — Voltaire
That won't work in any environment I've worked in, and I work in higher-ed. In my experience, upper management doesn't care so much about bugs - unless it's a customer-critical bug (system down, or business impacted) in which case the vendor provides some kind of fix. Provided you're on a support contract of some kind, of course. Other bugs, and my management has usually responded "all software has bugs". (And certainly, management doesn't want to get into the business of providing fixes for someone else's bugs - you're committing developer resources that are probably needed elsewhere.)
Here's an example: It was a challenge to deploy Linux and other OSS at the enterprise level at the Big-Ten university where I work. What did I do to get "open source" supported by upper management? Support. We purchased RHEL entitlements, and the director and CIO were reassured that we'd get patches, etc. Since we're in higher-ed, we purchased RHEL-Academic entitlements for about half the systems we run (anything where we have pretty much own the core application stack - we run a lot of web applications, for example.) Academic doesn't give us the ability to call in for help - but again, we own the core application stack, so bugs tend to shake out during testing, or else are identified as a bug in application and fixed by our own developers. But we do get patches, updates, etc. In the case where we run full RHEL (not Academic), we're running applications delivered by third-party vendors (PeopleSoft, IBM, etc.) We never wanted to run into a situation where the third-party vendor says "this bug isn't caused by our app, it's in our OS - call your OS vendor", then we have no one to turn to. With full RHEL, at least we can call Red Hat to open an incident.
What mattered to upper management was support. The fact that, we've only ever opened like 3 support calls doesn't matter to upper management. They still wanted (and want) to see a support contract somewhere. And they don't mind paying a reasonable fee for it. And it's good to support vendors like Red Hat and IBM, who support OSS.
Another example: we once tried to set up a fax gateway service that would support something like 20 faxes a day. Not a high-volume thing, so we had looked at some very nice fax software that we found as open source / free software, but didn't come from Red Hat (i.e. not supported there) and didn't have a support contract offered anywhere else that we could find. Response from upper management: no. Not because it was "open source" but because it didn't have a vendor supporting it.
By system I don't mean computer OS. I mean the business systems. If the current system is working, why change it?
.NET will accomplish that.
.NET will do to fix it and then you need to address those concerns with a solution using your current tools and talent to mgmt.
.NET will cause turnover of talent; maybe that addresses the perceived problem!
My guess: there is something about the current system mgmt doesn't like and wants "fixed". They think going
You don't need to promote FOSS as much as you need to find out what mgmt thinks is broken, what they think
It's likely they realize switching to
-- @rjamestaylor on Ello
The 6 laws of persusuasion (negotiation or not, consider it office grooming) is getting teased in your approach here.
See: Global Knowledge
The doctor may not recommend drug x over y, but only becuase drug y had their reps in the other day giving a free lunch. Yeah it happens all the time. As a network admin for a group of clinics I rarely had to buy my lunch.
Fair trial by a jury of his peers depends on where you're from - despite being a novel, A Time to Kill comes to mind. Think surreptitious here, much like ones approach to persuasion should be.
With regards to getting with the times, some of the best things are products of the past. Most importantly, you are hard-pressed to find a unique thought lately except for this guy: Ludwig Wittgenstein
To the parent, the only way to convince management or anyone in 'business' for that matter is to give them business numbers. Get together some analysis to back up your opinion (be prepared to be wrong as well) by looking at man work hours for a given technology, the cost of converting to a new technology in this case, the cost of employee moral because of technology devotion, and plug those in with various sub-points.. run a magical spreadsheet that proves why moving to tech y isntead of staying with tech x is a bad business decision
Truth is realized, not told...
I just had a thought about this. Sometimes maintainers stop maintaining. Then what does the company do. They don't want to maintain some third party software. That is why they got third party software... because they didn't want to write it themselves. So the idea that open source is beneficial because you can modify it yourself if you want is moot.
Some companies just want to work on their core competencies and that is that. If they make business software that runs on an enterprise Java server that is what they want to do. They don't want to be experts at programming and maintaining enterprise Java servers. A for profit company is more likely to stay in business over the long term as the maintainers have a motive to keep it going... money (even if they get bought out by another company the product if worth paying for will survive).
A good example of a really good product languishing is Tora (the open source toadish oracle client). The original programmer and maintainer went to work for Quest. Tora is still there, but it languished for a while and still isn't commercial grade like Toad is. So companies just go and buy Toad. (Toad is a brand name now... Quest retired the original meaning of toolkit for oracle btw). That might be one good reason other than the tired "management can't blame anyone" argument. There has to be more to it than that. After all, I do believe that there are a lot of good open source tools out there. The guarantee that they will stay out there a long time... and stay 'good' out there a long time is less certain.
Please don't hand pick applications as counter arguments. It is late and I am tired and speaking in general terms. We know there are some projects that are out there that meet the out there for a long time and good requirement. Like OO, and MySQL, and JBoss. These are backed by companies that sell support for them and have the for profit motivation to keep doing so. Not everything in open source software can survive by the 'sell support' option. I don't think even MS makes much money selling support for their 'Office' software.
As unpopular as it might be around here... just trying to play devils advocate and figure out what other possible problems PHBs have with open source. Half of the solution is figuring out the problem.
-- I ignore anonymous replies to my comments and postings.
"Those who are too smart to engage in politics are punished by being governed by those who are dumber" -- Plato