Fundamentally, you can't tell. No matter what CMS you use, you can always strip the identifying information from it. Plone, for example, is currently themed using a system called Diazo (a subset of Deliverance) which basically plugs chunks of content into any given CSS + HTML theme. Tons of other web applications rely on thin web frameworks or are simply servlets or FastCGI programs which expose only HTML and CSS to the browser.
It's a security risk to shout your technology stack to the world, so most (good) web frameworks and CMS's don't.
Initial Cost has a role to play. Open Source is generally cheaper on both the hosting and the tooling. The only way that closed source competes is by trying to provide better tools, sometimes even free tools. If your input costs are low open source can be an excellent option.
Microsoft will give away the web developer version of Visual Studio to bait developers in, and then give them a beautifully functional environment that makes development easy. They hype everything up and keep new features rolling in.
Consider portability VS level of integration.
Open Source can be very sustainable, because you can change out parts you don't like or parts that fall out of favour. With Closed source you are stuck.
Generally speaking Closed Source solutions are more tool focused and more integrated. Open source does not enforce use of any specific tools and represents a mix-in manner of solving problems.
The level integration in closed source can be high. For instance Microsoft provides
- The programming language (c#)
- The framework (Asp .Net)
- The Database (Sql Server)
- The Web Server (IIS)
- The OS (Windows)
With open source you can have any combination of operating systems, DBMS, framework and language. They are not tightly integrated, but they are portable.
Consider customizability . Closed source systems are not very customizable. They try to provide pluggable frameworks etc but mostly there are points where you get stuck. Sometimes they have a premium product that you then have to invest in.
Consider giant applications that need custom caching, database solutions, or even a customized OS to run. If you reach that point that your application is so massive that no prebuilt solution can deal, and you want to customise, open source will pay off.
Best Answer
It can be any language. But if you say PHP, I have some points-
From migueldeicaza in Twitter:
Reddit is experiencing some cognitive dissonance pains over StackOverflow using 5 .NET servers instead of 500 PHP ones.
I have also seen a article by a facebook developer team member who said that, if facebook were to re-developed from scratch now, probably they would have chosen python.
So, if your site really scale up, you should consider using other languages than php. Using php you can scale up. But have to do a lot of tweaking IMHO.