I have a co-worker with a strong background in Ruby that is interested in getting started with Delphi and native development. However, I understand that Turbo Delphi (based on Delphi 2006) is no longer available for download.
So...where does that leave him? Is there any low cost or introductory version of Delphi available legally somewhere? Or is there an offering on the horizon from Embarcadero?
Note: Please don't suggest any legally questionable versions, as that is not an option we will consider.
UPDATED: To sum up all answers the only legal and free version of Delphi that you can download and install now (unless you already have a personal license for Delphi 7 Personal or Turbo Delphi) is Delphi Community Edition.
And the next closest thing is the Lazarus IDE and the Free-Pascal compiler.
This with this should be close enough. It speaks the language at least.
IMO the Delphi 7 Personal Download is the only available legal "non-expensive" version of Delphi. But is is really limited in its features.
It's really a shame that Embarcadero forces one to invest some USD 900+ even if one wouldn't need all the bells and whistles of the Pro version. Especially if products from the "other company" (the Express versions) are given away for free.
I am talking about the need for the discontinued Turbo product line (based on a stable foundation, i.e. D2010 and not D2006) for the hobby software developer to get him started. Maybe his is even willing to upgrade to a full featured version some day.
Chris
Extracts from "About Lazarus":
So just what is Lazarus?
Lazarus is the class libraries for Free Pascal that emulate Delphi. Free Pascal is a GPL'ed compiler that runs on Linux, Win32, OS/2, 68K and more. Free Pascal is designed to be able to understand and compile Delphi syntax, which is of course OOP. Lazarus is the part of the missing puzzle that will allow you to develop Delphi like programs in all of the above platforms. Unlike Java which strives to be a write once run anywhere, Lazarus and Free Pascal strives for write once compile anywhere. Since the exact same compiler is available on all of the above platforms it means you don't need to do any recoding to produce identical products for different platforms.
Yeah, but what about the GUI? What widget set are you using?
That is the neat part. You decide. Lazarus is being developed to be totally and completely API independent. Once you write your code you just link it against the API widget set of your choice. If you want to use GTK+, great! If you want it to be Gnome compliant, great! As long as the interface code for the widget set you want to use is available you can link to it. If it isn't available, well you can write it.
For example. Let's say you are creating a product on Windows using the standard Windows widgets. Now you want to create a Linux version. First you decide what widget set you want to use. Let's assume you want to use gtk+. So you copy the code over to your Linux development machine, compile, and link against the gtk+ interface unit. That's it. You've now just created a Linux version of the Windows product without any additional coding.
At this point in the development we are using Win32, gtk+, Carbon and QT as our API widget set. As soon as Lazarus reaches a 1.0 release developers will be able to start to create the interface unit to tie the LCL (Lazarus Component Libraries) to other widget sets.
So is this thing really RAD like Delphi?
It sure is. Is it totally completed? No not yet.The over all IDE is complete and can be used for most programming needs. Several aspects
of the project are still in need of help. Hint. Hint.
Can I use my existing Delphi code?
Some of it yes. If the code is standard Delphi pascal and it uses the standard components found in Delphi then the answer is yes. If it uses some specific database, OCX, or DCU then the answer would be no. These items are specific to Windows and would only work on and within Windows. However, if you are only looking to create a Windows product using Free Pascal and Lazarus then the answer would be yes. This hasn't been added to the LCL yet but it should be possible in the future.
Can I create commercial products with this?
Yes. The code for the Free Pascal compiler is licensed under the GPL. This means that it is open source, free, whatever name you want to stick to it. You can modify the code if you wish but you MUST distribute those changes or make them available to others if they wish to use it.
The FCL (Free Pascal Component Libraries) and the LCL (which will eventually become part of the FCL) are licensed under a modified LGPL. In a nut shell this means that you can write your own proprietary software that just links to these libraries. You can sell your application without the need to supply or make available your code. However, as with the compiler if you make modifications to the FCL or LCL you must make those changes available to the general public and the world.
Just for completeness, you can get a 30 day trial: https://downloads.embarcadero.com/free/delphi
Also, I'd suggest going to a Delphi conference. You have about a 1 in 30 chance of winning a free copy or a significant discount.
Embarcadero launched a starter edition of Delphi for $199. Latest version is Delphi 10 Seattle.
As Mohammed pointed out there is a upgrade price of $150, from any other IDE or developer tool product including earlier Delphi products.
Important update:
Don't simply download any Delphi version from a mirror, even when they used to be free, when they are no longer available from Borland/CodeGear/Embarcadero.
According to Alexander's comment and contrary to the quote below, even though they were free, it may not be legal to newly install them now.
I wasn't aware of that when I quoted the answer from the question mentioned. Sorry.
if you however decide to learn Delphi,
you might want to look for Delphi 7
Personal which was removed from
Borland / CodeGear / Embarcadero
websites, but still is available on
some mirror hosters. I believe it is
legal to use this as it was once
published as freeware. – migajek
yesterday
Quoted from a comment on the question Do I need to free these objects?
The same may apply to Turbo Delphi 2006...
Since July of 2018 there is a Free Community Edition of Delphi.
At the moment the Delphi Community Edition supports both VCL and FireMonkey as well as building for Windows, macOS, iOS and Android, and is a feature rich IDE (compared to Turbo Delphi) with a limited license. In terms of features the new Community Edition is much, much, much better than past Starter or Turbo editions.
It's targeted at individual developers or companies with total revenue less than 5000 USD and less than 5 developers in the organization (eg. freelance developers, startups, students, non-profits). Note that the total revenue threshold includes all your projects and contracts, no matter if the Community Edition was used in those projects or not.
The Delphi Community Edition comes with a 1 year license. Once it expires you have to reinstall the Community Edition and accept the new Community license (license terms might have changed by then). In this regard the Community Edition differs from Turbo Delphi, which was kind of "use forever" once installed with a personal license.
As another side note, the Community license does not allow transfering the command line compiler to other machines.
Some quotes from the Delphi Community Edition FAQ:
Community Edition is
both designed to allow individuals and startups to bootstrap their
vision until annual revenues reach $5,000 at which point a
Professional Edition license can be purchased.
If you're an individual you may use Community Edition to create apps
for your own use and apps that you can sell until your revenues reach
$5,000 per year.
If you're a small company or organization without revenue (or up to
$5,000 per year in revenue), you can also use the Community Edition.
Once your company's total revenue reaches US $5,000 per year, or your
team expands to more than 5 developers, you can move up to an
unrestricted commercial license with Professional Edition.
...
You may sell any apps or components developed with the Community Edition under the Community Edition license until your annual revenue exceeds US $5,000 or local currency equivalent. Please see license terms here.
...
Can I sell my apps or components built with the Community Edition?
A Professional, Enterprise or Architect edition license is required for developing or deploying any apps or components within any company with total company revenues exceeding US $5,000 or local currency equivalent.
...
If I work for a company with more than US $5,000 in revenue, can I still download Delphi Community Edition or C++Builder Community Edition for my own personal use?
You can download Delphi Community Edition or C++Builder Community Edition as an individual and use it to develop applications for your personal use and use it to create software for you to sell (up to US $5,000 in revenue, see License Agreement for details).
...
How can I get a new 1 year key after my current CE key expires?
Users will be able to request a new 1 year key through the website. That key will be > applicable to the current CE edition that’s available for download at that time.
We will assist you to stay current and up to date, always on the latest version.
As Marco Cantu said Long live to Delphi!
You might alternatively take a look at free CodeTyphon. It is a powerful one click installation package for cross platform native Delphi like RAD/IDE based on Lazarus/FreePascal. Your friend will start coding just few minutes after download. CodeTyphon already supports 4 CPU/OS hosts (Win32, Win64, Linux32, Linux64), and 16 CPU/OS targets (arm-Wince, arm-Linux, arm-Embedded, arm-gba, arm-nds, i386-Win32, i386-Linux, i386-FreeBSD, i386-Haiku, x86_64-Win64, x86_64-Linux, x86_64-FreeBSD, powerpc-Linux, powerpc64-Linux, sparc-Linux, sparc-Solaris). More are supported in Lazarus/FreePascal, but others are not yet integrated in CodeTyphon.
Related
When I worked with Delphi 5 I always pressed F1 on a method I did not knew how to use. The Help system explained what it is, what is does and gave an example on how to use it in a simple code. After that I installed Delphi 2006 and bammm! No more code examples.Anyone knows why give up on something so important?
(Personal opinion based on observation and analysis of a long time Delphi user, as I am not from Delphi team. If you do have any evidence to support or challenge, please leave a comment.)
Delphi 5/6/7 help system was built upon a Microsoft Help system called WinHelp.
Due to Microsoft's decision to make WinHelp obsolete, all previous help materials become "impossible" to migrate (need more info from Embarcadero to support this statement). The new help system in Delphi 8-XE 3 was a completely new system. Porting contents and formats from the ancient platform to the new one becomes a huge burden and a very time consuming process, which takes many years to accomplish.
Delphi 2006 was an "intermediate" release, where its help system is half baked. You have to use a later release (such as the latest) to get F1 working as you wished. Or alternatively, use the online version, such as
http://docwiki.embarcadero.com/RADStudio/en/Delphi_Reference
I'm a teen who has been programming since 8 years old, so I know what I do.
I want to take a look at Delphi Windows development.
The problem with this, is that Embarcadero's Delphi is really expensive, and I can't afford it.
I wanted to know if Lazarus is a good alternative, now for learning and hobby, but in a few years for working.
If I learn Lazarus now, would I know Delphi also ? Do I need to learn Pascal first ? Any good Lazarus books ? If I learn Lazarus from a Delphi book it's ok ?.
Thanks.
Some things to be aware of:
The component library for lazarus, the LCL is similar in many ways, to the VCL library for Delphi, but there are differences, the biggest being the many components in the VCL that are not in lazarus. As a means of learning Delphi programming, this seems to me to be the biggest shortcoming.
The IDE for Lazarus is similar in many ways to the Delphi 7 IDE (and older versions) and looks nothing at all, and works nothing at all, like modern Delphi IDE versions. So your learning of Lazarus would be somewhat transferable to the now-ancient version Delphi 7, but wouldn't be of much use in knowing your way around the delphi IDE. Installation of packages works completely differently too. Delphi has true support for packages, whereas lazarus rebuilds and relinks itself in order to add more "designtime components" to itself.
The base languages are also almost identical, but I would expect to find some strange differences. There is some brief description of the differences on Wikipedia.
I agree with Kico; The delphi starter edition is not expensive.
there's a version of Delphi called Embarcadero Delphi XE Starter Edition, which have a very good price (free I guess).
I can't recommend Lazarus as a good option for learning Delphi because besides the languages are basically Pascal, they have some differences which could confuse you.
Here is the link for the old Turbo Delphi project (which became the Delphi XE Starter Edition) where you can download your copy.
There's already lots of views on this so take your pick. Mine for what it's worth, is that learning a language and more specifically HOW to program is the most important aspect. I know many skilled programmers who can and do use a multitude of languages - C, C++, Java, Ruby, Python, PHP, Delphi and so on. They all say to me that once you learn and are good at the fundamentals of a while loop, a for loop, and so on, applying that to a new language is easy enough.
I have not produced loads of software but I've achieved more in the last year using Lazarus and Free Pascal than I ever did with any other language - Python and Delphi included! I can easily create cross-platform GUI's that run on all OS'es with powerful procedures that I couldn't make with Python and\or Delphi. I am not saying they couldn't be made with those languages, but I was able to make them easily and quickly with Laz+FPC.
So, personally, even if I could afford to buy Delphi, I'd use Lazarus. I don't see that Delphi offers me, at my level, anything significant over and above Lazarus. So at your level and age, I'd say learn everything you can and when you outgrow Lazarus (if you ever do) move on to DELPHI. The interface transition will be easy enough once you know the language.
If you are still in school, you should check to see if there are educational discounts for Delphi
Primarily I think that you should let yourself be guided what your immediate surroundings use. The people on the forum you intend to frequent, friends, coworkers/students, whatever they use should be an important factor in what you do. Since they are the ones you will ask questions, exchange source etc.
They might be using older versions of Delphi, Lazarus or the newest of the newest Embarcadero version. E.g. for my work, I visit electrical engineering departments a lot, and they uniformly use a Delphi 6 or 7. And if not, usually older rather than newer.
If you are gearing up to do a bit of side jobs with Delphi you have a problem. You can buy starter to learn, but as soon as you start asking money for it, you have to acquire a full license(*), and the starter license is money lost. Specially since Embarcadero recently limited the period that old versions might upgrade, you might not even get a discount on the full version because of an older starter purchase in a few years.
Besides being free, Lazarus, for educational purposes has one big advantage: the number of versions in active use is usually limited to the last two releases. This reduces versionconflicts and at worst versionitis is only temporary. This means all your peers will more or less use the same version, while with Delphi they might be scattered over more than 5-6 versions.
And of course updating lazarus is also free :-) (which is important to consider in a multi year planning, the same people urging you to buy now will urge you to get the latest and greatest in a few years too)
Personally, I think that Lazarus is fine for the initial learning and that differences that really would be a stumbling block are much further down the track. And you get a VCL/LCL path to other platforms. You can always get a Delphi version later when plans are more concrete. (either to find employment, or if you start being a self employed programmer)
(*) luckily, if I understood it right, the starter edition now allows non commercial use in foundations.
At work I have used Delphi 6 & 7 Enterprise for several years. A few years back, I bought a personal copy of Turbo Delphi Professional. Because of this I am eligible for Delphi 2010 Professional upgrade. But I am not eligible for Delphi 2010 Enterprise upgrade though.
Is it worth buying Delphi 2010 Professional Upgrade or should I look for Delphi 7 Enterprise?
The purpose of me trying to buy Delphi includes writing Multi-tier database applications for learning purpose.
Any advise would be appreciated.
TIA!
Delphi 2010 is miles ahead of Delphi 7, particularly DataSnap.
If I were you, I would contact Embarcadero directly and see what it would take to upgrade to Delphi 2010 Enterprise. I would also follow Bob's advice and get SA.
http://embarcadero.com/products/rad-studio/rad-studio-feature-matrix.pdf
Delphi 2010 Professional Upgrade only costs 399 Euro, and right now (until Monday, June 28th) will get you RAD Studio 2010 Professional delivered (plus a free download of Delphi Prism 2011 as well). Note that the Professional edition does not include DataSnap 2010 for multi-tier database development. For that, you'd want Delphi 2010 Enterprise - a New User license would cost 1999 Euro, and would get you RAD Studio 2010 Enterprise...
Delphi 7 Enterprise is only available as New User licenses, and costs 2490 Euro. More expensive than the Delphi 2010 Enterprise New User edition...
Personally, I would go for the Delphi 2010 - and make sure to include subscription as well (at the RAD Studio level), so you'll know for sure you get Delphi 2011 and RAD Studio 2011 when they become available...
Groetjes, Bob Swart (www.bobswart.nl or www.bobswart.com)
PS: all prices without VAT where applicable ;-)
Delphi 2010 Professional includes DataSnap's TDataSetProvider and TClientDataSet but only lets you use them in 2 tier applications.
That said if you were to upgrade to the enterprise level at a later date it would be a relatively simple matter to make these 2 tier DataSnap applications, 3 tier DataSnap applications.
There are also several other ways to write 3 tier applications using Delphi 2010 Professional that don't involve DataSnap or require the Enterprise level. Third party libraries such as RemObjects, kbmMW, RealThinClient all provide alternative multi-tier solutions to DataSnap.
I agree with Lauchlan. I went with 2010 Pro for exactly those reasons. For personal projects I think you'll get 90% of the benefit by writing two tier DataSnap demo applications then building your three tier stuff using other libraries. I'm using Pro at work as well because the extra cost of upgrading is huge and there's no real benefit for us. It's not like Delphi 3 where database access was limited unless you paid extra.
I'd also look very carefully at the special offers. If you're learning about databases it might be worth seeing if you can get the "buy one get one free" (BOGOF) deal and use that to grab one of the Embarcadero database tools. My feeling is that there's a new special offer every couple of months so delaying your upgrade might pay off it you can afford to wait.
We have a medium-to-large size application. One version runs on Delphi 6 and another one on Delphi 2006.
One argument would be support for Unicode. We need that to cater to Customers around the world.
Other things I have read about are: better IDE (stability, speed), better Help and some cool additions to the language (e.g.: generics)
What about third-party components? We use DevExpress, DBISAM and many others. Are these already ported?
Touch/Gestures sound cool, but we have no use for that in our application.
Better theme support (eg., TStringGrid/TDBGrid now support themes).
Support for Windows Vista and Windows 7, including support for the Direct2D Canvas in Win7 and the Touch/Gesture support you mentioned.
Improved refactoring, including support for refactoring generics.
Built-in source code formatter.
IDE Insight allows you to find things in the IDE itself.
Enhanced RTTI.
Improvements in the debugger, including new custom data visualizers and the ability to create your own. There are two included with source (one for TDateTime and one for TStringList). Also better support for debugging threads, including the ability to name threads for debugging and set breakpoints on specific threads.
The ability to add version control support to the IDE via interfaces. This will allow version control developers to add support directly in the IDE itself.
The help is much better than in previous versions. It's been completely redesigned again, and is much more comprehensive and complete. There's also an online wiki-based version (used to generate the help itself) that you can add or edit.
Background compilation allows you to continue working while you're compiling your project.
As far as third party controls, that's up to the specific vendor; you'll have to check to see if Delphi 2010 versions are available for each of them individually. (You might check the Embarcadero web site, though, to see if they have a list already available; I seem to recall hearing of one... Ah, yes. Here it is. )
Last upgrade for old version
With old version of Delphi (before Delphi 2005), you have only before january 1 2010 to upgrade.
After you will have to buy a full version.
Productivity
http://www.tmssoftware.com/site/blog.asp?post=127
Purely as a reactive measure. Lets say that there is a new feature in the latest version of a yet to be released operating system. Lets say that this feature breaks certain features inside your application. IF there was to be a global fix for it, it would most likely not be placed in older versions of the compiler, but the newer versions which "officially" support the new operating system. The largest problem about waiting too long is that when such a measure is needed its generally at the zero hour when sales are at risk.
Upgrade NOW, and help prepare your application to be more reactive to future changes.
Don't convince him for a Delphi 2009/2010 upgrade, Do it for a Software Assurance.
The refactoring tools and overall
speed and stability of the IDE will
make the development team more
productive.
Working with the latest tools will make it easier to recruit top talent.
The IDE is definitely a step up from Delphi 6 and/or Delphi 2006.
If Unicode is important to your customers then Delphi 2009/2010 is a clear option. But if Unicode is important to you, rather than your customers, then I'd be careful.
Unicode is not "free". If your users/customers have concerns w.r.t memory footprint and/or performance, and/or your application involves extensive string handling, then Unicode exacts a price that all your customers will have to pay, and for customers who are not themselves concerned with Unicode support, that price comes with zero benefit (to them).
Similarly if your application sits on top of a currently non-Unicode enabled database schema. Migrating existing databases from non-Unicode to Unicode is non-trivial, and if you have customers with large production databases, incurring downtime for those customers whilst they migrate their data stores is something you should consider carefully.
Also you will need to be very aware of any interfaces to external systems - your code will unilaterally "go Unicode", and that may adversely impact on external interfaces to other systems that are not.
In such cases you would do well to tie the transition to Unicode with other compelling feature improvements and benefits to make the transition compelling for other reasons.
Also, if you genuinely have customers with a real need for true Unicode, then the transition is not as simple as recompiling with the latest/greatest compiler and VCL. True Unicode support will involve a great deal more work in your application code than you might at first appreciate.
Of course, having a Unicode capable compiler/VCL is a crucial component, but it's not an answer on it's own.
The Unicode change has a significant impact on 3rd party components. Even if you have the source to your 3rd party code you may find yourself facing Unicode issues in that code unless the vendor has taken steps to update that code in a more current version. Most current vendor libraries are Unicode by now though I think, so unless you are using a library that is no longer supported by the vendor, you should be OK on that score.
I would also exercise caution when it comes to those "cool" language features such as generics. They sure do look cool, but they have some seriously limiting characteristics that you will run into outside of feature demonstrations and can result in maintenance and debugging difficulties as the experience of the community in working with them is limited, so "best practice" has yet to emerge and the tool support perhaps hasn't yet caught up with the uses to which those features are being put in actual code.
Having said ALL that.... Since you cannot realistically choose any version other than Delphi 2010 to upgrade to, then if you are going to upgrade at all then you have to bite the Unicode bullet and will find yourself presented with lots of tempting language features to tinker with and distract you. ;)
And now that Embarcadero are imposing a more draconian policy w.r.t qualifying upgrade products, you will have to get off of Delphi 2006 if you wish to qualify for upgrade pricing for Delphi 20*11* onward, whether you decide that 2010 is right for you or not, otherwise when the time comes to upgrade to Delphi 2011 you will find yourself treated as a new customer, and if you thought that upgrade pricing was steep, check out the new user license costs!
D2006 was an awful version of Delphi. It's worth upgrading just to be rid of all the memory leaks and random IDE crashes and glitches. Justify it to the boss as a massive decrease in lost productivity. That means less money wasted paying you to not produce code because your dev tools aren't working. It'll pay for itself very quickly on that basis alone.
As for D6 vs. D2010, that's a feature argument. Start with Skamradt's response, that it helps your code be future-proof. Underscore it with OS compatibility. D2007 was the first version that understands Vista. D2010 is the first version to understand Windows 7. If you're compiling with any older version, your app is obsolete before you even deploy it because there's no guarantee it's compatible with modern versions of Windows.
Then you've got actual language features. The main improvements IMO from 2006 to 2010 are Generics, which helps out with all sorts of repetitive tasks, and extended RTTI. Robert Love has been doing some great blog posts lately on how the extended RTTI can simplify common real-world problems. (Plus Unicode, of course.)
Playing the devils advocate, there may be reasons not to upgrade. For instance you might be missing the source to certain components or you may still need to support Win9X.
I think you'll probably find the best reason to upgrade (leaving all the new wizz-bang features aside) is that you'll be significantly more productive in the new IDE. If you don't / can't upgrade I'd recommend grabbing a copy of Castalia, which can give you access to many productivity enhancements (e.g. refactoring) in Delphi 6.
DBISAM is updated, I just emailed them this past week concerning a project I hope to be upgrading from Delphi 3 to Delphi 2010.
All the other packages I looked into upgrading for that project (WPTools, Infopower, TMS) all state on their websites that they offer compatibility with 2010.
I never had D2006 (I have 2007) so I can't speak to any defects in that particular release (D2007 isn't that great, either) but it's generally a good principal to keep your tools in good shape. For a saw that means sharp, for software that means current. Especially in a new-OS year, you probably want the corresponding version of your primary development environment.
It seems to me there are 2 aspects in developing professional applications:
You want to earn money: you have to stick to your customer's demands, keep your stuff KISS, maintainable and so on... You have to be productive: no matter of generics, RTTI, widgets like flowpannel, gesture and so on because it takes time to learn and more time to use. In this way, change from D7 to D2010 is not nessary relevant. Change for another IDE like REAL Basic allowing multiplaform target is more accurate.
BUT as a developer there is a child and a poet in you, fascinated by new technologies or/and algorithms... This is the creative part of the job. You got to be creative if you want to be impressive and innovator. Upgrade to Delphi 2010 is a must have, searching for new classes, new objects is a way of life in today's programming.
That's my humble point of view and the reason that keep me spend my money to upgrade Delphi from I to 2010.
Best regards,
Didier
Lists of compatible components that already support Delphi 2010 including DevExpress (article will be periodically updated from our technology partner database) is at
http://edn.embarcadero.com/article/39864
Argument - tens of thousands of tools and components available for the things you might need in addition to the open api(s) for components and the IDE.
Item 9 of the The Joel Test: 12 Steps to Better Code is:
Do you use the best tools money can buy?
Perhaps this argument is germane here.
On the other hand if you are maintaining legacy code and not generating anything that has dependency on new OS or tool features, it is a hard argument to win. I would not however recommend generating entirely new projects on tools that old.
Unicode has been supported on Windows since at least NT 4.0, and for Windows 95/98/Me since the addition of MSLU in 2001 - so surely Delphi 2006 supports it!? [edit]Not fully supported in the component library it seems.[/edit]
I suggest that the one compelling argument is in order to ensure Vista and Windows 7 compatibility. I understand that 64bit target support was planned for Delphi this year. That may be another argument; but again it only applies if you actually intend to target such a platform, and in a way that will give a tangible benefit over 32bit code. [edit]I emphasised planned because I did no know whether it had made it into the product, but that it might be a consideration for you. It seems it has not, so the argument you put to management might be even less strong.[/edit]
Management are not going to be impressed by the "I just want cool tools to play with", you have to approach it on a "Return on Investment" (ROI) basis. Will you get your product out faster or cheaper using this tool? Are the existing tools a technical barrier to progress? Conversely, consider whether spending time porting your legacy code to new tools (with the associated validation and testing) will kill your budgets and deadlines for no commercial advantage?
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 7 years ago.
Improve this question
I'm currently developing a web app on Django/Python, and I consider moving to ASP.NET MVC. I downloaded the Visual Web Developer Express edition, read NerdDinner, and I'm ready to go. I will probably keep working on MySQL.
One of the reasons I chose Django+MySQL in the first place was that it was free of charge. I'm bootstrapping a business and can't afford to pay for expensive software, even for deployment (storage and bandwidth are the exception).
My question is: can I develop on the express edition and get my product to production without having to pay to Microsoft? This is both a legal question and a practicality question (Assume I'll use open source version control, build server, etc).
I'm not experienced in Microsoft's different licenses, I wondered if anyone has any experience in driving a product to the web based solely on the express editions (I know you guys are not lawyers, but some of you are probably working at companies paying lawyers to help with such decisions...)
You've asked two questions here, so let's take a look at both.
From a legal standpoint the answer is pretty straightforward: yes, Visual Web Developer Express is provided free of charge and there is no limitation regarding using it commercially.
Your second question has to do with the practicality of using Express editions commercially. The short answer is: yes. The longer version of the answer sounds a little more like "yes, but...".
Although Visual Studio Express editions are fantastic -- especially when you consider their price -- you should be aware that they do lack functionality. To me, the most important things Express editions lack are --
Extension support. There's a healthy Visual Studio add-in ecosystem out there that you'll be locked out of. Not a fatal flaw, for sure. Just something to keep in mind.
Ability to create setup projects. Again, not fatal. You can do it manually or using some external solution. Also, if you are developing something for use on one customer (or for yourself) this is a complete non-issue.
Native 64-bit support. This is the one I can't work around. If you need to work on 64-bit environments and use some 64-bits controls, you're in a pickle.
Support for test projects. If you are into test-driven development, this is a very cool feature you'll miss on the Express editions.
Also, they have no class designer, some (small) limitations on debugging and most development tools you'll find that work with Visual Studio won't work with the Express editions.
All in all, you can definitely develop with VS Express. Compared to the tools you probably had for Django+Python, Visual Studio Express is a big leap forward anyway IMHO.
Also, you can always go with the Express edition for now and upgrade later if necessary.
Point 7 in the "Express" FAQ probably answers it best:
Can I use Express Editions for commercial use?
Yes, there are no licensing restrictions for applications built using Visual Studio Express Editions.
Other then that, reading the EULA should confirm that there is no "products built with this software is for private use only" clauses.
Not only can you develop ASP.NET MVC for free, you can do it on Linux using Mono, as Miguel points out and Michael explains... so in addition to no license fees for the runtime or IDE, you can host on free operating systems too!
You can also use MonoDevelop on Mac OS-X and although I'm pretty sure Windows users will prefer Visual Web Developer Express, they are getting MonoDevelop running on Windows, too.
When you've made your first million dollars, then you can 'upgrade' to Visual Studio 2010 :)
Yes, the Express editions are really free.
yes, you can develop on the free versions of microsoft software. you will have to pay for the os license of the development and hosting servers though.
for a business you may want to investigate the bizspark program which can give you up to three years of everything, including hosting.
It is absolutely possible to develop and deploy ASP.NET and ASP.NET MVC applications without having to pay to Microsoft. I see no any limitations/differences (both legal and practical) in deployment of ASP.NET applications, developed in express/full versions of VS. Personally I would recommend to buy VS2008 Pro (or maybe wait for VS2010) - it's much more powerful then VWD Express. Yes, It is expensive but I think it is worth its money.
UPDATED:
Reliable Dedicated/VPS hosting is expensive for both Linux/Windows platforms. So if your site will grow quickly - yor main costs will be hosting not tools
in development yes it is free visual studio express is really free but when it comes to deployment you will really need Windows server 2003 or 2008 you might also need another edition of SQL server if express doesn't meet the requirement :)
There is no need to settle for the Express editions or open source. If you are a legitimate startup, you can join Microsoft's relatively new BizSpark program and get a free MSDN subscription, which includes full editions of all the software for development purposes (e.g. Windows Server, SQL Server, etc).
Plus for web apps you get licenses to deploy the software in production, which I think makes BizSpark unique versus other MS partner programs. It doesn't include free hosting however.
Check out the site for eligibility requirements and restrictions.
(sorry Matt I know you mentioned Bizspark, but I wanted to provide more info and emphasize how relevant this is for the question).