Fog Creek Software
Discussion Board




Why does FogBugz need PHP?

PHP was publicly ashamed by Joel on October 10: "PHP has almost complete ignorance of character encoding issues, blithely using 8 bits for characters, making it darn near impossible to develop good international web applications"  Does it mean that FogBugz is bad international web application or that FogCreek team made the impossible? And a more general question: why doesn't FogBugz use more advanced template engine?

Serge
Tuesday, December 23, 2003

PHP is cross-platform and free.
ASP.NET is neither.
Same goes for JSP.

I think Joel is less inclined to pay licensing fees
and/or royalties than being a stickler on
Unicode minutia.

Money always trumps sophmoric "software design" ideals.

don't kid yourself
Tuesday, December 23, 2003

Correct me if I'm wrong but FogBugz doesn't use PHP on Windows.

Serge
Tuesday, December 23, 2003

and ASP.Net and JSP are actually free? (Once you have the Windows Licence)

ChrisO
Tuesday, December 23, 2003

and JSP runs on WIndows and *NIX?

and from what I understand in an earlier thread the MONO project is able to run ASP.Net on Apache on LINUX?

ChrisO
Tuesday, December 23, 2003

How is JSP not "cross platform and free"?

Since FogBugz for *nix runs on LAMP (Linux, Apache, My-SQL, PHP) and since, I would assume, FogBugz for Windows (at least) did run on ASP + IIS isn't the process of creating the *nix version (at least) close to rewriting the whole thing?

Since Fogcreek isn't committing to .NET yet I'm guessing solutions like Visual J# (anyone had any experience with this - would it be feasible to create, say, a Velocity-based solution that works under a JVM and .NET?) and/or Mono weren't considered.

Walter Rumsby
Tuesday, December 23, 2003

> How is JSP not "cross platform and free"?

I would think that if you include JSP in a major shrinkwrap software product, Sun might want some kind of royalties and/or licensing fees.

PHP doesn't have this problem.

Of course there is the whole Open Source realm, where you might get away with shipping Tomcat with JSP, but you would probably fall under GPL and be forced to reveal your own source code.

don't kid yourself
Tuesday, December 23, 2003

Was this available when FogBugz got ported to UNIX?

http://www.go-mono.com/asp-net.html

I wonder if Joel knows about it...

Glyph Lefkowitz
Tuesday, December 23, 2003

We wrote an ASP->PHP compiler. FogBUGZ is written in ASP and compiled to PHP.

Joel Spolsky
Tuesday, December 23, 2003

Anybody using Python Server Pages?

Personally I don't care much for the whole "<anything> Server Pages" paradigm, because it tends to mix too much application logic and database access in with the presentation. It doesn't have to if you use reasonable OO techniques, but without very strict oversight it sneaks in.

Tom Hathaway
Tuesday, December 23, 2003

Re: Joel's answer. Ah! Coming soon... FogCreek ASP -> PHP compiler!

Re: "Sun might want some kind royalty"... right like they obviously do with every single website using JSP out there. FUD FUD FUD.

Walter Rumsby
Tuesday, December 23, 2003

There is nothing in the Apache software license that will make you do anything like a GPL, also Sun may very well want a piece of your successful app but it can't legally make you give it to them

The Artist Formerly Known as Prince
Tuesday, December 23, 2003

> Re: "Sun might want some kind royalty"... right like they obviously do with every single website using JSP out there. FUD FUD FUD.

Using JSP for what it was designed and shipping JSP as part of your own commercial product are two very different things. Check Sun's license.

don't kid yourself
Tuesday, December 23, 2003

In the case of something like FogBugz it seems pretty clear they would be using JSP for "what it was designed" (i.e. templating) and if it really is a problem (which I doubt) then Velocity is free (Apache license) and tends to perform better than JSP too.

The real licensing hurdle FogBugz/similar would have is with My-SQL.

Walter Rumsby
Tuesday, December 23, 2003

Hold your horses there fellas.. shipping JSP?
You write a JSP/Servlet app.. this is yours to do what you want with..

You run it on a servlet engine+webserver like tomcat or jetty. Same licence as the PHP engine. I think you can distribute it if you want to.

The engines need Java/JRE to be on the system, this you DL from sun. Redistribution is not common but I dont think youd need to pay much to do so. Ive seen it on magazine covers.

Eric DeBois
Tuesday, December 23, 2003

We don't ship either MySQL or PHP (or Linux or Apache) -- we expect our customers to get those themselves.

PHP was chosen for ubiquity. Since the goal is to run on as many systems as possible, I try to make platform decisions based on lowest-common-denominator. That means that our programmers suffer using outdated, skimpy languages like VB 6.0 and VBScript in order to run on the largest possible installed base.

Joel Spolsky
Tuesday, December 23, 2003

Getting your users to DL and install MySQL is one good way to get around the licensing issues, but makes it hard on your customers.

Why not just use PostgreSQL? It has a BSD-style license, so you can include it pre-configured with FogBUGZ.

don't kid yourself
Tuesday, December 23, 2003

"We wrote an ASP->PHP compiler. FogBUGZ is written in ASP and compiled to PHP. "

Do you sell this "compiler"? I think it is more valuable than FogBugz.

Tom Vu
Tuesday, December 23, 2003

Why not write it in JSP/Servlets to begin with?  It is completely free, open source, or you can switch to the commerical app servers if you like.  Personally, I think thats the biggest advantage of J2EE.  You have a strong open source community supporting it, but if your adverse to open source (lots of gov. agencies are), you have big companies like IBM, SUN, and BEA.  Come to think of it, *every* major software company has a J2EE App server wiht the exception of microsoft:  Borland, Apple, Novell, Macromedia, Oracle, etc.    Sure, its a little more complicated to develop, but you don't have any vendor lock in, and your also not dependant on open source if you don't want to be.

vince
Tuesday, December 23, 2003

For what it does ASP or PHP seems like a reasonable choice (vs. J2EE) for implementing FogBugz.

I'd be curious to know the differences between FogBugz and something like JIRA (the J2EE issue tracker that holds mindshare in the J2EE space).

Perhaps I should look at the feature matricies...

Walter Rumsby
Tuesday, December 23, 2003

FogBugz is not a hype-hype-hype product.

As soon as you start talking about "J2EE Application Servers", and "you can use OSS runtime environment or you could buy a commercial implementation from IBM, BEA, or Sun", you lose a large segment of customers instantly.  They think, "someone's trying to sell me expensive, bloated 'middleware' that will suck up hardware resources like nobody's business and require 2 or 3 full-time administrators".

Joel sells FogBugz to a market segment that wants lightweight.  I've yet to see anything involving Java that is lightweight.  As soon as you start doing Servlets, you've completely lost lightweight as a selling point.  Yes, I know what I'm talking about.

I've been doing web application development professionally for a good while now.  ASP and PHP are painfully inadequate for what I do (though they can be shoehorned into the job).  I use Java and ASP.Net a whole lot.  However, I think ASP and PHP are good choices for Joel's particular product given his *real market requirements*.

Richard P
Wednesday, December 24, 2003

Vince: ..."Sure, [J2EE is] a little more complicated to develop..."

Much more expensive to develop, maintain and deploy by every metric I've seen.  Unless we're talking transactional systems (i.e., session failover), I'm not sure J2EE would ever be required.

PHP sites like sourceforge handle a huge amount of complexity and scale.  You can't beat the bang for the buck.

dir at badblue com
Wednesday, December 24, 2003

Joel,
I would be interested in the story of building an ASP to PHP compiler...
Why this decision, and what type of roadblocks you went into (data accesss layer comes to mind)...
I don't know about others here, but we frequently get requests from our customers for type of tools (we want to go from ASP to JSP, etc...) and I've never found an elegant solution to handle that...

Ziad
Wednesday, December 24, 2003

Richard, when I said J2EE, I really meant JSPs and maybe servlets.  You can write a perfectly usable application using only jsps and POJOs.  Yes, even still it would take more time, but the portability issue would be taken care of.  I think a lot of people make J2EE much more complicated then need be. 

vince
Wednesday, December 24, 2003

"That means that our programmers suffer using outdated, skimpy languages like VB 6.0 and VBScript in order to run on the largest possible installed base. "

Hey, you should put that in your next job ad! :-)

Just me (Sir to you)
Friday, December 26, 2003

Why not JSP? Well, aside from the ubiquity issue that Joel already mentioned, there's the fact that the original version of FogBugz is written in ASP, not ASP.NET.

PHP is very, VERY similar to ASP, so translation would have been fairly mechanical. Building a "proper" PHP site requires that you do the same basic stuff you'd do in an ASP site.

To properly use JSP, on the other hand, often requires a very different approach using Java tag libs. This is much closer to the ASP.NET approach.

So, in general, ASP -> PHP = simple translation. ASP -> JSP = redesign/rewrite.

Chris Tavares
Friday, December 26, 2003

*  Recent Topics

*  Fog Creek Home