« How to Interview | Main | Why the Switch Conversation »

March 23, 2005


This is really exciting news to me. I'm an Open Source developer and we/I do all our web stuff with Open Souce tools (PHP, Perl, Apache, MySQL, Mambo, etc.) at my church.

The news that Fellowship Church is moving in this same direction will help me to promote this direction to my leaders.

Also thanks for this Blog. It's already helped me in my position as a leader of our web team. It helped me to realize that my leadership was not as broken as I thought it was - that it's difficult to build a team of volunteers to do this.

Thanks for writing this up. It's a very clear explanation of what we at Microsoft need to do to win back developers.

I understand what you are saying here. My one site was designed using ASP and an Access dbase on the back end and the cost compared to an equivalent system running PHP and a mySQL dbase was exhorbitant. For cost and flexibility reasons I have decided to redevelop that site so I can run it using PHP and mySQL on whichever platform works best for me instead of only on Windows servers.


Great write up, thanks, but I find it hard to believe that one of the major factors in your decsion was based on your hiring of a 'superstar'. You tout the importance of platform\browser independence but you switch your whole IT infrastructure partially based on the hiring of a new employee. What happens when your superstar quits\gets fired\gets hit by a truck?

Also, I hope you evaluated Sharepoint\WSE 2.0\VS 2005\ASP.NET 2.0\Biztalk before making your decision.

No Microsoft tax and stable...

Brian > Thanks for the feedback! I'm glad to hear this site has been helpful for you.

Scoble > I hope this helps Microsoft get better as I'm definitely a fan. And the Channel 9 Guy still has a prominent place on my desk!

Paul > Good to hear about similar experiences. We're going to use PostgreSQL due to our team's expertise.

Michael > As I said, the platform change was being seriously considered before our new hire, but finding him definitely helped make the decision. You'll also notice that it was reason number 10.

But you're right that we will be leaning heavily on him, but that is a reality of life on a small team; loosing any member of our group would have a huge impact. I'm sure 37Signals would be in a tight spot if their lead developer left.

We trust God to provide help in those situations and push forward with the skills we have at our disposal.

I am so glad I followed a link from Robert Scoble's blog to yours. It was truly a pleasure to read your writing.

Top it up with Mono, http://www.mono-project.com, and you can still build asp.net application in case you need to in future.

What a refreshing view of life (and technology) - keep it open, inviting and allow those involved to try what suits them best.

Now compare this attitude to that of the InfoWorld CIO at:
who says:
"About every six months, a particular event in my life as a working CTO forces me to step back and reconsider the Mac as an enterprise platform. Sometimes it’s a discovery I make on my own as a PowerBook user, other times it’s a new software release. This time, it was a simple question from a new salesperson we had just hired: Can I use a Mac here? Peering over the Cinema Display connected to my PowerBook, where I had just been typing, I said, “If you promise not to ask for support or help of any kind, sure.” He quickly agreed to take a PC. This short exchange raised a few issues about Mac support in the enterprise that I hadn’t fully considered until now," Chad Dickerson writes for InfoWorld (Dickerson is InfoWorld's Chief Technology Officer).


What about your current developers who are Microsoft trained?

Will you lay them off or retrain?

How do they feel about the switch?

Have you factored in these costs?

Isn't there a contradiction between your point 4 and 5?
"4. (...)I built a number of Linux servers a couple of years ago and nine months later I had to be reminded that they existed as they hadn't been touched or rebooted since they went live.

5. Security/viruses

Again, Microsoft has made great strides, but there is a clear advantage to using Linux in regards to security and stability."

Not updating your Linux servers leads you to the same securtiy problems you would have with an unpatched Windows OS.
There are several Linux security updates every month.
Greetings Stefen

Are You There, God? It's Me, Microsoft.

I have personal experience developing and maintaining web sites using both .NET and LAMP technologies. Each have proponents who can spend hours detailing the merits of one over the other. In reality both technologies have benefits and issues. However, it has been my experience that the mony you save developing with LAMP is spent 100 times over in its maintenance phase.

This doesn't surprise me. I've been talking about 'open sores' solutions for churches and charities on my blog (Heal Your Church Website) for quite some time -- even though I pay the rent coding in the .NET framework.

I agree entirely with the reasons listed above, and along with that I might add the increasing ease-of-use now found in solutions such as Open Office, Audacity and Drupal just to name a few off the top of my head.

Mostly though it is about cost. Many churches do not wish to violate the law (some weird thing about practicing what they preach) so licensing is an issue ...

... part of this is that many churches are moving towards a lay-driven model in which basically staff jobs are outsourced to parishoners; hence the need for affordable web-based/web-native solutions .. using the internet as an intranet.

Good post guys!

I read this is and actually think you're making the right choice. Your team sounds more hobbyist than professional developers and you'll be able to farm more of this work out to high school kids from the parish, etc.

This is a movement to the other end of the spectrum from .NET (as compared with J2EE). Sometimes, simpler tools for simpler developers are a great thing.

Microsoft should be more concerned if the folks at Fellowship Technologies start eyeing a switch.

You folks should definitely check out Ruby on Rails, it's even easier to work with than PHP and meets all of your other requirements.

Have a look at Python, too!

Okay, you've compelled me to blog about it ... but I am commanding my cult/readers to visit, memorize and live your list-o-10.

Please have ready for me your easy-to-render from Linux access logs so I can egrep and perl out those who've been obedient to my every edict and read your post.

I have just done a project using the combination you have chosen. I really enjoyed it, postgreSQl is a pleasure, I used 7.2 it looks as if 8.x is better, and development in PHP is fun.

As for stability, it just works.

Having hired a Gun you probable need no hints but but just in case look at pgAdmin and the zend editor.

As for Linux and Apache, they work well and the netcraft statistics make it pretty clear they are the standard.

My do people get so worked up about platforms? I'm surprised that I haven't seen a Calvin sticker peeing on a Penguin or the Microsoft logo.

I hate open source proponents because I'm not one and I hate the Microsoft faction because they hate the open source proponents! I think I need to attend Fellowship Church! Do you guys have a series on platform envy?

God bless Bill Gates, Steve Jobs, that creepy Ellison character, and Linus Torvalds.

Be prepared for your change in the following ways:

* Your Superstar cannot sustain great things alone -- try to recruit another superstar (maybe not quite as super, but at least stellar). Even uber-geeks need someone to bounce ideas off of, who can speak their language AND who have the same set of goals. Relying on a LUG mailing list, etc., is not the same.

* Do not dispair; change takes time. The decisions you've made are VERY sound (especially your decision to use Postgres for your backend -- Ingres is also a good choice). Your Superstar is human and will get bogged down, on occasion -- maybe even on several occasions -- with the overwhelming task of migrating a legacy codebase to new platforms. Think YEARS not months to get to the point where your decision takes hold. But you will see incredible benefits from the change -- benefits you can't even imagine, today. There are not enough words to describe the differences between living in a proprietary development environment vs the alternative. Just remember: Change takes time.

* Don't let anyone cast doubt on your choice by dwelling on the topics of money, savings, costs, expenses. Money is really just a means to an end -- not always the best metric for success, actually. There is no expense worse than the great unknown -- it is the ultimate business risk. When you have control over every line of code -- even the ones you haven't written and will never even look at, you reduce business risk, just the same. When the answer is, "I have no idea why the software did that!", coupled with, "And there's no way I can ever find out.", that is a desperate position in which to place your enterprise. You reduce a-thousand-fold the number of people in the world who can ever help you out of a bind.

* You are about to benefit from mountains of generosity. Try to give some of that back. Open up your platform for others see and to use. I don't advise this purely from an "obligation" point of view, either, but also for the sake of the many benefits it will provide. When you open your source code, you get the best possible feedback from users on the topics of bugs, efficiencies and new features -- stuff that one Superstar could not think of in so short a time. What did your founder say? "Cast your bread on the waters...", if I recall.

* The biggest impediment you will face in making this change is FUD -- the big Fear, Uncertainty and Doubt. I'm not refering to outside FUD; I mean the FUD *you* will have, from your gut. Until you have about a year of this F/OSS stuff under your belt and can see the real benefits take hold, you will have your moments. If there's anyone on your staff who feels like they're sailing uncharted waters, the fear factor will be thick. Honestly, I don't know a cure for this, except time.

* Be prepared for lots of long rants from people trying to be helpful. They tend to bulletize their thoughts and give you advice you didn't ask for and probably don't even need. In this regard, F/OSS should probably be renamed to something more appropriate, like MOM or DAD.

Good luck!

Thanks for the excellent discussion of a topic near and dear to many developers' hearts.

Manual trackback link in my sig.

This is a fascinating post although I find it really surprising. My experience has been quite a bit different, but it's an eye opener nonetheless.

Thanks for the very enlightening post. I am about to setup my own space on the web, and will be going the LAMP way. I am not a coder, developer, or any such enlightened soul; but as an IT professional, I am aware of the benefits of FOSS. Proprietary code too often does give neither freedom nor choice. But I will use whatever (prorietary or FOSS) gets the job done well, and at minimal cost.

I like freedom; I like choice; and don't take too kindly to others thinking, speaking, and acting on my behalf. I have a brain, and I can think and act on my own.

I have just quit a 6 figure job as a Microsoft Consultant because of Open Source, and what it provides to my personal clients. Two years ago, you could not have seen this coming from me, but after educating myself about the opportunities and quality tools in Open Source - you would be shock. It is a matter of educating yourself, staff, and company. I saw a comment on Sharepoint Portal, and I will have to say - do you know how much this is for external license alone? How about 40K+ - for a church, maybe half or a quarter of the price. If you are Microsoft - have you seen Mambo Server (open source)? Desktop and Server NOS, have you seen recent strides by Ubuntu, Kubuntu, CentOS (Red Hat Enterprise - but free), Suse Enterprise Server, and others(look at this - http://www.flexbeta.net/main/articles.php?action=show&id=88&perpage=1&pagenum=3) - faster performance than Windows 2003 and with Domain Controller features (not new but interface is great on this one). The list goes on and on. You want CRM - try SugarCRM.com. Trust me, I have implemented - AD, Exchange, SharepointPortal, Microsoft Operations Manager, Systems Management Server, Project Server, Contenent Management Server, many other MS backend systems, etc - they all have comparable open source equivalent. It is cheaper to get a developer to modify an existing open source solution than it is to purchase and create or modify a MS solution. It's a matter of getting the right solution at the right price. There will always be a good mix of Microsoft and Linux solutions, but because of Open Source, the quality will be raised and prices will have to drop because the difference will be minimal and eventually non-existant. Microsoft paid my bills (and very greatful for the great opportunity), but open source will open more opportunities.

FYI...I was not fired or am a disgruntled MS employee - I still consult on MS related engagements, but I do not limit myself on Microsoft products alone - I want to give the best of breed solutions - from MS to Linux. Lastly, I am among top MS consultants.

Good article. I'm happy to see more churches moving to open source products.

The comments to this entry are closed.