Welcome

Visit Family Reads

  • Family Reads: dependably delightful books for kids

    Family Reads is a new site built by my family for your family. It's packed with reviews of the best books, plus ideas and inspiration for making reading a wonderful part of your family life.

The Blogging Church

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

March 23, 2005

Why the Switch?

Terry and I have received a number of comments and questions following the recent announcement that we are changing development platforms. Beginning next month, Fellowship Church will be moving our websites to Linux, PHP, PostgreSQL and Apache. Here's a quick overview of where we've been, where we're going, and why.

FellowshipChurch.com launched in February 2001 as a full-featured portal site built in ASP, utilizing IIS and SQL Server (volunteer-built sites existed previously). A year later, a separate group of developers began intense development of a new web-based church management system, built in ASP.NET, using C#, IIS, and SQL Server [now available from Fellowship Technologies and not affected by this change]. In mid-2003, we began working on a complete redesign of FellowshipChurch.com and due to the synergies with the church management development team and our happiness with the platform, the site was rebuilt using identical technologies. Later, we added two additional sites on the same framework: FellowshipConnection.com and EdYoung.org.

We began this year knowing we were at a crossroads. As our sites have grown, so has the pain in maintaining them. Though built using similar tools, they are each unique in terms of content management, e-commerce, user management, and e-newsletters. The sites are also in need of new looks, with an emphasis on designs that are more user-friendly, flexible, standards-compliant, and inviting.The combination of rapid traffic growth, three additional campuses, and a small team requires us to worker smarter and faster. Or as Bono said, "We have to go away and dream it all up again."

As we began evaluating our options, one of our developers moved to another department so we began to search for his replacement. As I evaluated the resumes we were receiving, I began to have the sense that we were continuing down the wrong path. Here are the top ten factors that influenced the decision to change direction.

1. Developers

I have found it very difficult to find .NET web developers. In my experience, .NET developers tend to have worked in large teams focused on a very specific subset of the larger application, often the backend or data access layer. Very few have been comfortable working in a small team on everything from design to UI to security to backend. This is a more common experience for PHP developers.

2. Complexity and speed of development

.NET is excellent for enterprise-level web and application development, particularly for large corporations. However, with that ability comes substantial overhead and complexity.

In addition to our three in-house sites, we have a fourth that is developed by a local company in PHP using Linux and PostgreSQL. Time after time, they have been able to deliver simple and quick solutions that would take us twice as long in our current environment. With a small team and Kingdom driven demands, our focus has to be on making things happen.

3. Cost

Microsoft's charity pricing is a wonderful benefit to all churches and non-profit organizations, and it helps to explain why Microsoft solutions dominate these areas. Nevertheless, the costs for SQL Server, Windows Server, Visual Studio, MSDN and technical support are still fairly substantial compared to open source solutions.

4. Get in running/keep it running

Microsoft continues to improve in this area, and there is always a new version just around the corner that will make everything better, but this is a fact of life. Microsoft products, from the server to the development environment, will inexplicably stop working with no outside interference. Each of our development machines begs to be rebuilt after six months of use. Servers that haven't been rebooted for a couple of weeks begin to have issues. Code that has worked for months stops working for no apparent reason.

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.

6. Platform independence

With the new direction, my team will have Linux, Apple, and Windows desktops and a developer-specific collection of editors, development environments, and other tools. Future hires will be able to utilize the OS they know best. We did not have this flexibility before.

7. Community

In my experience, I have found more quality help available online for open source tools, as well as very good code available for free. This is invaluable for very small teams as it expands what can be accomplished.

8. Examples

The majority of our favorite sites, development companies, designers and sources of inspiration use open source tools and technologies. The number of cutting-edge, highly usable, standards-compliant sites built in .NET is rather small in comparison.

9. Browsers

After the meteoric rise of Firefox and the smaller increase in non-Microsoft desktops, building Microsoft and IE-focused websites is no longer an option. Though .NET does not inherently make this more difficult, it is much less of an issue in open source and PHP development. Also, having a mixed development environment only forces the issue even more.

10. The new guy

Before finding our new developer, changing platforms was a serious consideration. After God handed us a superstar, it was a given. You have very few chances to hire the best of the best and this was one of them. When you have that chance, you step out of their way and let them do what they do best. Accord to Jason Fried, "It's all a matter of trust. If you don't trust your developer to choose the right environment, then how can you trust him to build the best application?"

.NET has served us very well. As you can see by this list, the reasons for this change are very specific to our organization, our skills, our staff, and our development demands. Until we've been up and running for a year on the new platform, I wouldn't recommend one direction over the other to your church or company - only you and your team can make that evaluation.

We couldn't be more excited about the new possibilities that lie ahead and the chance to make a difference in people's lives. I'll continually post on the challenges and lessons as we make the transition.

Comments

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.

Brian,

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:
http://www.infoworld.com/article/05/03/22/13OPconnection_1.html
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).

Thanks
AM

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.

Llee, he didn't say Sharepoint Portal Server - just Sharepoint.

Sharepoint 2.0 is free to all Windows Server 2003 users. So all they'd have to buy is Windows Small Business Server for $500 (or Premium for $1000 if they want SQL) and they're good to go.

And that's street pricing... I'm sure they could do even better through Microsoft's charity programs.

Not saying it's the answer to their prayers... just wondering if they considered it.

.."It's a very clear explanation of what we at Microsoft need to do to win back developers."
-- Robert Scoble, March 24, 2005 03:22 PM (MST? I found it at http://www.leaveitbehind.com/home/2005/03/why_switch.html and respond there and at Groklaw too.)


..an harder challenge; Convince me you even try. ;o)

..note that "win back" is _very_ different from other means, for example, the Germans _let_ the Nazis seize power in 1933, and the Nazis _made_ 6 million Jews enter the gas chambers in Auschwitz. So, the Germans, with one notable exception*, has since gone out of their way trying to repair the damage _they_ did do to mankind, and they _have_ won back at least my respect, even despite joining the EU. It took'em 50 years. The Serbs likewise _has_ delivered Slobodan Milosevic to the court in the Hague and has begun doing _their_ repair job.

..it's _all_ about doing the right thing, precisely like they teach (and often do) in churches, synagoges and even mosques too.
Even _after_ you have failed.

..ah yeah, the notable exception*; the "Neo-Nazi community", is about as numerous as Microsoft's staff and pretends Holocaust never happened, and even they has their own revisionists doing "research", too.

..juuust like in "Get the facts!" ;o)

..all we see from Microsoft, are these shills (covert and not) wriggling around laws, court orders etc, by deleting company email to evade discovery of evidence and by complying with the wording and not to the spirit in those laws 'n orders, to try harm the F/OSS community, like now in Massachusetts and Europe, where you try to patent XML as "MSXML" and ask F/OSS developers to pay 50,000 (US$ or €?) for writing code to fill out XML tax forms or get hit with US$ 3 million lawsuits.

..my own experience with Microsoft? In my last 5 weeks with Wintendo95, back in 1997, I was driven thru 23 reinstalls.
I lost 2 years research work. And that was not even in F/OSS!, it was in thermochemical gasification. According to your "EULA", which BTW is a contract, not a license, my 2 years is worth US$ 5. So I had use SuSE Linux 5.2 to try rescue what I could rescue. (Since then, Red Hat 5.2 thru 9, now I run Debian Sid and my clientele, Debian Woody.)

..the Germans and the Serbs has proven _far_ more responsible, on the damage _they_ did.

..your call, Mr Scoble of Microsoft.

http://www.groklaw.net/article.php?story=20050324233749913#c293113

You folks might want to take a look at "Church Website in a Box"

http://www.shef.ca/?view=cwiab

I haven't personally used it, but I have heard really good things about it, and I imagine that it would reduce quite a bit of the administrative overhead of setting up the site.

Anton, Sharepoint is NOT free - you are referring to Windows Sharepoint Services. This still has a fee if you have it extrnally facing the Internet. If internal then it is free.

Brian,

I find it interesting that you move so quickly away from Microsoft technology by only looking at their new guy. As a local ASP/ASP.NET and PHP developer, I still find ASP to be one of the top development platforms. You can still use mySQL and the cost is still minimal all the way around. Granted, the patches move a little quicker, but I find that both boxes, Linus / Unix and Microsoft still require them.

Finally found a reason to be glad I am a Catholic! :)

Sounds like a big old bunch of FUD to me.

Great post, and lots of great comments; I think I'll definitely be linking to this, and maybe even work up something to say about it later on tonight.

I, for one, think that it makes a lot of sense to base at least part of your decision on your new hire -- as far as your existing people who may need new training, I'm reminded of the conversations we had awhile back on the "scalable enterprise solutions" topic, on how people... our solutions... are scalable. Great move!

Looking forward to hearing more about how it goes.

The main reason why some php sites are difficult
to maintain is because content is not
separated from presentation. The W3C
technology XSLT supports this separation
and can be used in conjunction with LAMP.

The down side is that there's an addtional
thing to learn, but the up side is that
the compartmentalization means that
different people can work on different parts.

To the guy who is a Catholic: I'm a Catholic. I have half a dozen computers at home. And NONE of them run Windows. Do you really think you are following the Lord by using the products of a convicted monopolist? If they showed the tinest degree of repentence, I might cut you a little slack. But they continue to be up to all of their old tricks.

To LeaveItBehind: Press On! Fight the good fight! Use and support Open Source Software!

Welcome to the world of PHP, hope you enjoy your journey and continue to grow :)

Brian,

Hey, thanks for posting this!

--Josh Berkus
PostgreSQL Project


Brian,

Good article. My church http://www.pointofgrace.com uses fellowshipone for church management. do you see that moving toward open source. I would love it if you would.

I have written some programs for my wife for scheduling and such and would love to integrate it with F1 but alas I can not, because I don't have access to the data.

We would love to see the check in stations move away from a Windows only solution too.

Thanks

Mark

I was referred to this article as an example of people switching to PHP from ASP.NET. I'd like to point out a few things since most of the comments are overly positive about this switch.

1. It's not a problem with the platform that people aren't available for it. People learn new things all the time, but I know it's not a solution when you need 20 people for a project yesterday.

2. Naturally "simple and quick" solutions might be possible with PHP, but they are as possible with ASP.NET. Many real world applications aren't "simple and quick." And also remember: the right tool for each task.

3. Cost is not that big of an issue. You don't need SQL Server, you've got for example PostgreSQL. You don't need MSDN, or at least any part of it that requires paying. Visual Studio is great, but not necessary for development. Just use any editor you like. And you can always deploy Web Server Edition or purchase hosting solution. If you want your own server, it's the only thing you pay for. Everything else you need is free. Really.

4. If you can't get servers to work, look in the mirror and in the hardware first. Think what are the only common nominators: you as the developers and admins. What could be the problem then, since others can do it without problems. People can run development machines for years without problems, they can run servers for months without reboots and software they wrote doesn't stop working suddenly. Funny, isn't it?

5. Security is a problem everywhere and as someone already stated, it's strange that you'd leave your servers without upgrades while stating that Linux/Apache/PHP have vulnerabilities.

6. Platform independence is better with PHP, so if you need that, it is a good reason. Mono has gone a long way and might even be a possibility for ASP.NET hosting nowadays.

7. This relates to the point 1, since there are not that many people using it, communities are smaller. But also there is a lot of crap in the larger PHP communities, so you must be careful in believing everything you see in forums and using all the code samples you find. There have been lots of problems when people don't understand the code they use.

8. Lots of samples for ASP.NET too, but naturally PHP has been around for a lot longer. Also lots of crappy samples for PHP out there. People must be careful.

9. There is nothing IE specific about ASP.NET nor is PHP any better in this sence. So this is total FUD and should be treated as such. Web site developers do the code, not the platform.

10. As known for so long, superstars are usually comets. Many times they don't last that long and many times they aren't that great. They only appear to be, but after a while you realize the truth. I'm not saying your guy isn't an exception, just that there are lots of people in trouble because they blindly trust random people. (Yes, I don't expect anyone to blindly trust me either, that's not what this writing is about ;)

I hope people read the second to last paragraph and undestand it, since it's where you state the most important: this is the situation where you and only you are, so this is your decision. I respect that and even more I respect the fact that you understand it. Without that paragraph the whole text could've been random rantings, but now it's a description about your findings.

Hope you'll be happy with your new platform, I know I will be with ASP.NET and won't go back to PHP (which I used for many years before ASP.NET came out). Still my database of choice isn't MS's and I'm not paying them lots of money just because I use their stuff. Why should anyone else? You have the choice.

My dream for years has been to see churches of all sizes utilize open source technology to share and enhance technology for the ultimate purpose of creating community online and reaching others for Christ. So I am encouraged to see Fellowship Church embrace open source solutions. I am certainly not opposed to commercial products - they have their place and value. I just see unlimited potential for open source solutions as a vehicle for meeting the needs of churches in a low-cost yet effective manner. In the 2 years since our web ministry launched at our church, we have not spent a single dime on the development of our church website. The web ministry is primarily volunteer driven and we run MamboServer on a cost-free web host (3 year FREE trial with Linux hosting, 100 MB, 15 gig throughput, MySQL databases, SSH, and a myriad of other features). We chose Mambo because we needed a web presence quickly with minimal overhead and development time. We had the initial website up and running in about 2 days. Since then we have tweaked it and added more graphics elements on less than 10 hours per week. It has become a vehicle for event notification and online sign ups and the reception has been very positive. Check it out at http://www.trinityeht.com I am curious: What content management system will Fellowship go with? Or will it be a home grown solution?

We are at a similar point of needing to make a firm decision between PHP and ASP.NET, a more open source approach or Microsoft.

For me, your second point is of most importance:

2. Complexity and speed of development

If I may ask - in what ways did you find ASP.NET more tedious to maintain and/or develop with?

I thank you for your reply, as it will go a long way to helping us choose a platform.

Hi,

I find myself at a crossroads also..

I have been developing with ASP.NET for about 2 years. I work alone on all the project from design to database and have never worked as part of a large team. I am designer moving toward the technology rather than developer moving toward design.

I have just developed a modular CMS in ASP.NET which uses SQL Server. The development experience and web community support was generally pretty good. I rarely had to use forums as web development tutorials and info for ASP.NET coupled with MSDN meant that answers were generally easy to find.

I have recently been approached by a company developing a triple play platform to provide various applications from set top box to billing and web front end for resellers. The problem is however that they are very open source oriented and very linux.

Having developed my own CMS I am forced to look at adopting mambo as the basis for the front end because mine wont run on their servers. Mono doesn't seem to be a credible option and the use of SQL server was the killer blow for portability. Even if i convinced them and myself to run my cms on mono, they couldnt and wouldn't run SQL server on their servers. This is such a shame because my cms is so much easier to use and much more flexible, i think mambo sucks.

Although my CMS is better in certain respects like useability and flexibility, mambo has a huge range of developers and add ins available. This is a significant factor.

With respect to the power of the open source community however, I am not so convinced. Many of the open source projects i have seen are a bit shabby. Having set up a website using mambo i feel that it is not as good as it could be. I am one person working alone and unfunded and the system I have built is (and you will have to take my word for this) better than this open source project.

The triple play job has forced me to look at many open source projects and there is a lot of dross I have to say. Campare these to the commercial components I have seen in my time as an ASP.NET developer which are pretty polished and often only a few hundred
dollars to purchase so they are quite affordable. I think it is fair to pay for quality than get rubbish for free.

The use of SQL server also is the major problem for people considering my content management system. Although I dont consider it such a big deal it seems to be an expense that people object to. The use of SQL server has not brought anything to the project however that couldnt have been done with MySQL except add extra cost to the ownership.

I have enjoyed using C# and on the whole vs.net has been a great programming tool but not such a brilliant web development tool.

However, my research into the triple play arena in preparation for this recent contract tells me that it is all going to be unix linuxy type stuff all the way.

As services converge, is there any reason why, when all your other services are linux, you would keep your web applications on windows technologies.

Although I like ASP.NET I am now having to learn PHP and think seriously about any further investment in ASP.NET as a developer. If I had been using PHP MySQL I would have had a lot more options.

Apart from that microsoft business practices as have been noted in some of the above replies are hardly laudable. And the open source idea that people is a nicer idea.

Consider using Mambo (www.mamboserver.com). I have been a very active web developer for going on 7 years, built my own CMS before, seen other CMS solutions that people have built and there's a lot out there, however, Mambo is simply loaded.

The interface is about as polished as anybody could hope for from an open source project, development of it is constant and improving, and because it's so popular it's one of the few well documented open source projects out there. I've been using it at the company that I work for to build about 10 different sites with very impressive graphics designs and complex layouts. So far I have not found anything that Mambo can't handle. You just have to know your way around CSS. The most helpful part about it is the ability to easily turn the site over to non-technical people to maintain the content. If you spend about $30 to purchase WYSIWYGPro (a very slick web based form editor) and add it in, the combination is really untouchable. It allows for using multiple languages, multiple looks for specific pages, integrated scripts to change the behavior of the system, major web based applications, and smaller utility applications all around.

The only downside to it is that right now, it is tied to MySQL - though most PHP projects are. The next release however, will be adding a DB abstraction model that will allow you to use any database you like. Once that happens, Mambo is likely going to hit the next level.

The biggest thing about Mambo, as a developer though, is getting used to the directory structure. You've done a couple of projects and used other code for examples of what you're trying to do, development goes very fast.

Those Mambo guys are as bad as Jehovah Witnessess! I've tried Mambo and much prefer postNuke/mdPro or would use Xaraya which is a new system with too much power for me to figure out yet. Postnuke/mdPro are much more flexible in database choices (mySql, Postgres, Oracle, etc). Same type of community and developer support, better membership support with more Access Control than Mambo. (One of the major Mambo sites had to dump their membership tables as is was really slowing down the system.)

Aside from the CMS debates, if you're writing you own system, what type of framework/design pattern are you all working with?

Are you considering any of the existing php frameworks available such as Cake (ruby on rails for php), phpMVC (J2EE Struts model), or Prado (which is very .net like) or rolling your own. Would be very interested as I look more and more into design patterns for php.

You can learn more about Mambo here: source.mambo-foundation.org (there's a live demo at demo.mamboserver.com). If you want to try out a variety of Open Source CMS, then visit www.opensourcecms.com -- that site has every one I can think of set up and ready for a test drive (refreshed every 2 hours!). Best way to find what you like. Let's face it: Some of the proprietary products are very good, but when we are trying to stretch budgets and are looking at cost/benefit, Open Source carries the day!

I have been programing in ASP/vbscript from the very start and have recently been looking for a Job as a II Manager / Developer. However the language I know best is now redundant and im finding my self having to choose to advance to ASP.net or change to PHP. or do both..

Some of the PHP scripts and examples out there are fantastic and as a developer you learn by example. (I do)

Your article has made it clear that PHP is the way forward for me..

Thanks
Chris Brodie
http://www.upload.co.uk

The comments to this entry are closed.

Twitter Updates

    follow me on Twitter

    Recent Comments

    Paying the Bills