Fog Creek Software
Discussion Board




Why The Flip Flop, Joel?

I remember debates in the past where Joel said that he wouldn't bother porting FogBugz to Unix because it wasn't worth it--even to the extent of not considering any sort of code-sharing arrangement with a third party who would port in under contract or franchise.

What changed, Joel?  The percentage of Unix servers in development shops?  Had some spare time to kill?  Leaving the dark side of the software world for the light of open source?

Okay, I almost got through that last one without smirking.

Justin Johnson
Monday, December 22, 2003

A wise man revisits the sites of decisions past made.

He often finds those decisions still hold up under renewed scrutiny

Confucius
Monday, December 22, 2003

I appreciate Joel's change of mind. Getting a fine piece of software like FogBUGZ for MacOS X is great.

Hanul
Tuesday, December 23, 2003

Will it be free? :-)

Just me (Sir to you)
Tuesday, December 23, 2003

My old company did this too; they developed a product for Solaris and Windows, then ported to HPUX and AIX.

The reasons were basically that the product was good enough that changes on the core platforms were either too expensive or unlikely to pick up new customers, but a port to a new platform was fairly cheap and offered some immediate sales, namely the people who'd heard about it by didn't buy "because it doesn't run on platform X".

Portabella
Tuesday, December 23, 2003

What surprises me about the flip flop is that Joel had solid reasons for not porting that still make sense: the minority share of unix/Mac customers for this product, and the large porting costs of going from an MS platform (IIS, SQL Server) to LAMP.  I'm not aware that those reasons have been invalidated by any circumstances lately, so I'm wondering what I missed.

Justin Johnson
Tuesday, December 23, 2003

I'm going out on a limb here, but the dominance of Windows is a desktop thing, not a server thing. It probably stopped enough deals from going through when the IT people were told they'd have to run the bug tracking software on Windows. For some offices, that might be the one and only Windows box in the back office, with admins not really equipped to deal with it.

When IT is involved with the sale, it gets to be a lot more complex, in my experience. This breaks down what is likely to have been the single largest stopping point in the process.

Brad Wilson (dotnetguy.techieswithcats.com)
Tuesday, December 23, 2003

I'd agree. With IT involved having a unix/linux solution is a plus, especially for relatively cheap software like FogBugz. It disarms the people who don't want yet another windows box and also lets yourun on some hardware you have "lying around" without having to get a windows license. Even if that never actually happens it offers the buyers a choice instead of saying "my way or the highway" you now say "windows or unix". The choice is between two ways to buy instead of between buying and not buying.

Alex
Tuesday, December 23, 2003

Plus, hasn't Fogbugz moved away from a strict bug tracking tool to something that looks more like a general help desk tool (which is a different market with different concepts, ideas, standards, etc...).

I'll be curious to see some essays on maintaining code for both platforms. Since that doesn't appear to have been the intent all along, I would think the code base would be skewed away from multiplatform reusability.

Mark Smith
Tuesday, December 23, 2003

I suspect it's not about sales, it's about credibility. Joel can write a heckuva lot more in the "windows v. unix" realm when he's written a dual-platform app.

Philo

Philo
Tuesday, December 23, 2003

Perhaps Joel wants to create the FogCreek FogBugz Appliance like the Google Search Appliance. http://www.google.com/appliance/


But the real reason is the "Smart companies try to commoditize their products' complements."
http://www.joelonsoftware.com/articles/StrategyLetterV.html
Hence the move to make FogBugz work with different web servers, databases and operating systems. Those are all of the complements necessary to run FogBugz.

dmooney
Tuesday, December 23, 2003

Right!

Joel Spolsky
Tuesday, December 23, 2003

So the rise of Linux and other free software is actually good for those not directly competed against them as it tends to make the complementary products cheaper? Cheap OS, cheap DB, cheap web server means cheaper TOC for FogBugz and so more sales? Interesting for those on this forum who complain about OSS doing them out of a job, probably true if you make a commodity product, but not if you're a value add?

Alex
Tuesday, December 23, 2003

He only 'commoditizes' the Windows licence for a Unix shop. FogBugz still needs an OS, but now you have more choices as to which one you can pick.

I hope you will be profitable with this, Joel. Pricing will be interesting. Caught between the 'we can charge you an arm and a legg, and you'll beg for more' world of Unix and the 'We want it for free and we need the code' of Linux lies a sea of ... OS X?

Just me (Sir to you)
Tuesday, December 23, 2003

Just me:  I'd been assuming Joel would charge the same for the *nix version that he charges for the current one -- namely, enough to be profitable without losing too many sales.

And since I have a Linux-based web host, I'll get more use out of it than I would out of running it just on my local machine -- which makes me more likely to buy it now, especially if it's available by end of calendar year (to make the accountant happy).

Sam Livingston-Gray
Tuesday, December 23, 2003

The beauty of it is, now that Joel and his intrepid team have ported FogBUGZ to the PHP/Apache/MySQL platform, this can be the mainline version of the product from here on out, as all those tools run under Windows as well as Unix.  There's no longer any need to keep around a version of the code that's written to MS ASP/IIS/.NET/whatever proprietary lock-in Microsoft's pushing this week.

Of course, I've probably overlooked something...perhaps the Unix version doesn't implement all the nice doodads of the Windows-specific version (yet).  Perhaps Joel is looking to keep in MS' good graces by pointing to the "optimized for Windows" version of the product.  I dunno.

All I know was that, when I saw the words "FogBUGZ for Unix," I went "<keanu>Whoa.</keanu>" However it came about, it's good to see.

Eric Bowersox
Tuesday, December 23, 2003

I recall past write-ups say FogBugz was written in C# or VB.NET or vbscript (I can't remember)... none of these languages are fully* supported on Linux, how did you guys do it?

* In the case of C#, Mono C# comes close. In the case of vbscript, Chiliware (now Sun) comes close but doesn't support COM.

Li-fan Chen
Tuesday, December 23, 2003

Or is it written in Visual Studio 6.0 (Visual C++)?

Li-fan Chen
Tuesday, December 23, 2003

I'm not sure how many Windows shops would like to run Apache/MySQL/PHP. Why go against the culture, especially when the platform includes already all you need (IIS, Jet)?

It is interesting that e.g. Sourcegear takes a different approach: helping the Mono project financially to bring it to the point of being able to run their .NET for Windows stuff on *nix with a larger common codebase.

Maybe the next intern at FCS can do a .NET port project of FogBugz (that also runs on Mono)?

Just me (Sir to you)
Tuesday, December 23, 2003

> run their .NET for Windows stuff on *nix

I'm curious how this will play out.

In the short term, I think Microsoft will encourage .NET on *nix, to sow discord and undermine J2EE.

In the long run, I'm sure they reserve the right to pull the rug out from any real competitors, probably via lawsuits.

Portabella
Tuesday, December 23, 2003

Just wanted to say we've been happily using FogBUGZ for over a year. We're a mostly-Mac department in a mostly Windows company so it wan't too hard to get the guys to set us up a Windows box with MS-SQL. However, I would have much preferred to put it onto an old G4 with OS X an MySQL and manage it by ourselves. (Among other things, it could have stayed up when IT went 'round the company turning off all Windows boxes, twice this year.) Plus, we wouldn't have to pay annually for yet another installation of MS-SQL. Way to go, Joel! Commoditize those compliments!

Then, once you see how easy it is to develop for OSS platforms and the flexibility and portability--oops, sorry, wrong forum. :-)

null fame
Tuesday, December 23, 2003

Just out of interest: why did you go for the MS-SQL backend? Did you have >200 users?

Just me (Sir to you)
Tuesday, December 23, 2003

"I'm curious how this will play out...."

Ditto.  It's rather smart of Microsoft to tacitly encourage the Mono project for now -- it helps to give .Net "street cred" with the Slashdot crowd.  If Mono ever succeeds, however, it will be easy for Microsoft simply to FUD it into obscurity.

Robert Jacobson
Tuesday, December 23, 2003

Perhaps Joel wants to create the FogCreek FogBugz Appliance like the Google Search Appliance. http://www.google.com/appliance/


But the real reason is the "Smart companies try to commoditize their products' complements."
http://www.joelonsoftware.com/articles/StrategyLetterV.html
Hence the move to make FogBugz work with different web servers, databases and operating systems. Those are all of the complements necessary to run FogBugz.

dmooney
Tuesday, December 23, 2003
====
Right!

Joel Spolsky
====
Joel,

Sometimes I wonder where you stand on the whole Microsoft issue.  Last week you came down against unix programmers, this week you raise your hand as one.  On one hand you run a .NET forum, and write apps in VB and discuss its virtues, on the other you talk about commoditizing your compliments by writing cross platform apps.  If you are serious about commoditizing the OS, then using VB or .NET doesn't seem like the way to go about it.

So where do you stand here?

In my opinion as a small ISV it is in your interest to get MS out the picture as much as possible.  Am I missing something? 

christopher baus (www.baus.net)
Tuesday, December 23, 2003

Maybe because OSS is getting better, gaining market share, so at some point, it's only common sense for a company, especially a small shop, to use those tools.

If FogCreek can easily port its code to PHP, MySQL, etc., it'd be stupid to stick to proprietary tools.

I'd be curious to know, though, how easy it was to go from an MS-centered code to LAMP.

Frederic Faure
Tuesday, December 23, 2003

"Last week you came down against unix programmers..."

Joel didn't come out against Unix programmers; he just observed the differences in the cultures that led to demonstrable differences in the *character* and virtues of the platforms.

Justin Johnson
Tuesday, December 23, 2003

Joel,

I commend you on the business risk you are taking. Because FogBugz will be available on a Unix platform, I can evaluate and test it for use with my clients (all of which are strictly unix/linux only).

In my opinion, it's not all about platform/OS zeal - it's about markets., and being flexable enough to serve those markets.

Please contact me via email once it is released. I most definately want to purchase (at least) a single user version of it for evaluation.

Wayne Earl
Tuesday, December 23, 2003

Hmm..

<quote>
... the Unix world is so full of self-righteous cultural superiority, "advocacy," and slashdot-karma-whoring sectarianism while the Windows world is more practical
</quote>

I think the article would have been right on, minus that entire paragraph, which wasn't much more than a dig.  Joel makes some good points.  I think the old school way of doing things in Unix has to end.  For instance look at sendmail configuration... 

...but Linux is going to get better.  There is no stopping it. 

christopher baus (www.baus.net)
Tuesday, December 23, 2003

BTW, I totally support Joel going to Linux for FogBugz.  It proves that the OS has legs...

christopher baus (www.baus.net)
Tuesday, December 23, 2003

But if they drop the Windows/IIS/ASP version with the line that "Apache and MySQL and PHP all run on Windows" he will be losing alot of customers as well.

Just like a UNIX shop doesn't have the expertise (read time) to manage a Windows Box, we don't have the time to manage a Windows box with all that junk on it. And I can assure you that there are many like us out there, and as soon as we need more licences for FogBugz we would definately consider looking at something else.

BUT - I do recall that they got an intern to write a ASP>PHP compiler. Does that mean that you are still only maintaining the WIndows version and then running it through ASP2PHP to generate the PHP version? If that is the case (which I doubt would be very reliable) then I assume the ASP/IIS Version will be around for a while longer.

ChrisO
Tuesday, December 23, 2003

Correct. The source is ASP. The PHP version is automatically generated from the ASP version using our proprietary compiler.

Joel Spolsky
Tuesday, December 23, 2003

Thats good news Joel, have you got any info on how reliable your PHP compiler is? (Like how much effort you have to put into the compiled code to make it run, or is it perfect?)

If its perfect will it be released as a product?

ChrisO
Tuesday, December 23, 2003

It isn't a "compiler", it's more of a translator because it produces source code in another language.

I would guess that it (1) only understands a subset of ASP and (2) it isn't provably perfect, so they have to tweak or at least read the converted PHP code before releasing it.

T. Norman
Tuesday, December 23, 2003

Wayne said:

In my opinion, it's not all about platform/OS zeal - it's about markets., and being flexable enough to serve those markets.

I couldn't agree more.  I think it important to not be tied to certain platform.  Look at really successful application vendors that do not control the OS.  They are platform neutral.  Take for instance Adobe.  They are equally strong on the Mac and Windows.  PostScript runs on just about anything.  PDF runs on anything.  Had they stayed Mac only they probably wouldn't be here anymore. 

Platform vendors want you to use into the technologies that tie you into the platform (ie Win32, COM, VB, .NET), but is this really good for most developers? 

christopher baus (www.baus.net)
Tuesday, December 23, 2003

This is a very interesting topic.

I have just launched into dot net for all new product development. Currently only a web site has been created in asp.net/c#.

Are you saying that long term I would be better in something like Java or C++ in order to stay platform independent?

We are a small code shop in a very niche market. However, we will be trying to sell into corporates in the future. Will there be more of a resistance to windows there?

It is not too late for me to U-turn.

Mike grace
Wednesday, December 24, 2003

Well... PHP+MySQL hosting is a lot cheaper than ASP+Access or SQL Server hosting.

jumbo
Thursday, December 25, 2003

Mike, if by "platform indepedent" you mean the platform that the server runs (as opposed to the browser), then yes, using C# and .NET will lock you into Windows. Mono has ASP.NET functionality, but unless something major happens, those guys will constantly be playing catch-up to Microsoft. Realistically, you should plan that your servers will always run Windows and IIS and Microsoft's .NET.

Brad Wilson (dotnetguy.techieswithcats.com)
Thursday, December 25, 2003

On the other hand, Mike, you could write code in C# that's easy to port--which is to say, put a lot of care into designing and documenting it so that you leave open relatively inexpensive options to either translate it (like Joel did with FogBugz), have it work on Mono/dotGnu with minimal alterations, or be easily re-written in another language like Java.

Justin Johnson
Friday, December 26, 2003

The web site can stay in dot net for the time being. We have our own server so the ASP/SQL server bit isn't really much of an issue.

Our main application is currently xbase++ ( a clipper variant ) and it is a desktop app.

Would this be better to keep cross platform?

Mike Grace
Friday, December 26, 2003

*  Recent Topics

*  Fog Creek Home