I received a pre-sales email today that had more than 20 questions about various aspects of purchasing and licensing our products. Since it took me a little while to reply to it, I thought I'd justify the time spent by posting it here as a kind of FAQ. I've taken the opportunity of editing and pruning the questions to make it flow better.
(UPDATE 22-Sep-2009: Clarified the support policy. I'd been too restrictive in my original answers.)
(UPDATE 20-Nov-2010: Added a Q&A about build servers. See Q3-B.)
(UPDATE 11-Jun-2012: Updated prices, products, etc. Added info about deployment servers. See Q1, Q2, Q3-C.)
(UPDATE 22-Sep-2015: General update to bring the post up to date.)
Please note: although this post answers some basic licensing questions in simpler language, it does not replace the End-User Licensing Agreement. If anything in this FAQ contradicts the EULA, it is wrong: the EULA is the legal document that you agree to and are bound by. We have several EULAs, one for each product or product type.
Q1. What kind of packages does your company offer? What are their features and prices?
JMB. Our packages form a kind of pyramid or a tree. At the bottom are the packages for individual platforms, one each for WinForms, ASP.NET, WPF, HTML5, and so on. Generally these have names of the format DevExpress <platform>, so, DevExpress WinForms, DevExpress ASP.NET, DevExpress WPF, etc. Above this level is DXperience comprising everything we do for .NET on all platforms, except for the eXpressApp Framework (XAF). It includes source for the controls as well as our IDE productivity tools. Finally on top of the pyramid is DevExpress Universal which also includes XAF, DevExtreme, TestCafe, Document Server, and so on. (Please note: for the pricing of all our products, please go to our pricing page. This page also details what each subscription contains.)
Q2. Do you sell controls individually?
JMB. No, our products are not sold as individual controls.
Q3. What kind of development license policy do you offer?
JMB. Our licensing is per developer. Each developer that uses our products must have their own license. We don't license per machine, per server, or demand any royalties or run-time fees. You should read our EULA (End-User License Agreement) here. If you have a testing team and they need to compile the application, then those testers are deemed to be developers and will also need a license each. Testers who just test the completed, compiled application (that is, use it much as an end-user does) do not need a license.
Q3-B. If you don't license per machine, what happens with regard to an automated build machine or build server? There's no developer there.
JMB. Since a developer can install on several machines (see the answer to Q6), get a senior developer to install his license on the build machine. If you like, he becomes the "owner" of the product on that machine.
Q3-C. Can I install onto a deployment or production server then?
You should not install our products on deployment web
servers. For such servers, it sufficient just to deploy the runtime libraries of our
products with your applications.
Q4. What kind of distribution license policy do you offer?
JMB. See the answer to Q3. It bears repeating though: we do not charge you for any deployed application, whether that application is a thick client on an end-user machine, or a web application being served to many thousands of customers from one or more web servers. No royalties, no per-server fees, no per-seat costs.
Q5. Can a license be transferred from one developer to another?
JMB. Yes. In fact you can do this yourself using our website once your company has purchased more than one license. Log in to devexpress.com, click on My Account, and then Assign Licenses. You can then assign a particular license to a given email address (that's how we differentiate between developers). You also assign a password at the same time.
Q6. Can a single developer license be used on any number of machines?
JMB. To a certain extent. The EULA specifically states two, but to be honest we tend not to worry unless there's obvious piracy going on.
Q7. Do you collect any personal information during activation?
JMB. No. The only information required to activate (actually, that should be "to install") is the email address and password associated with the license.
Q8. Is it possible to activate products on a machine that does not have an internet connection?
JMB. Yes, however the license validation still has to be done. If the machine being activated is not connected to the internet, our installer displays an opaque data blob that should be emailed to us (presumably on another machine), and we reply immediately with another opaque data blob that must be entered into the installer. Once that validation has checked out, the installer will proceed to install the product. The installer will tell you what to do and how to do it.
Q9. What is the warranty period?
JMB. Like all software you purchase, we do not provide any warranty. In essence, we provide the software "as is". To be absolutely sure of what we do or do not provide, you must read the EULA.
However, when you purchase a license, you will have access to all upgrades and updates for a full year. You will also automatically have access to our support team. You can renew after the year is up. If you don't renew, you will no longer get free updates; however, you will continue to get support.
Q10. Do you provide any discounts based on the number of licenses we purchase?
JMB. Yes. The discount table is here.
Q11. What avenues of support do you provide? What's the response time? How long does support last?
JMB. Support is provided by one of two methods: either by a web-based system we call the Support Center, or by email (firstname.lastname@example.org). We aim to respond to all questions within one business day. Support via phone, IM, or chat is not provided. The support team may, in certain circumstances, decide a problem is intractable enough that they'll have to access your development machine using Remote Desktop or similar, but that's only decided on a case-by-case basis.
Support is only provided to a developer with a valid license — we may on occasion ask for your license details to check — however the license doesn't have to be active. In other words, if you decided not to renew at the end of a year, you will continue to get support. Obviously, if you don't renew and have an issue with the latest version you have, the support team will endeavor to find a fix or a workaround for that version. It may be that the only solution they find requires you to have the current release, in which case you would then have to purchase the upgrade.
Q12. What is the delivery mechanism for your products? Do you offer major/minor versions for new releases? What about service packs or hotfixes?
JMB. Delivery of our products is by download only. We provide 2 major releases of our products a year, with about 3 - 5 minor releases in between. We send you an email when a new release is ready for download. Sometimes we make hotfixes available for certain issues: these are individually downloadable from the issue page in Support Center.
Q13. Do you charge for minor/major releases? Do the service packs/hotfixes cost extra?
JMB. No. When you purchase a license, you get the right to download all releases for a full year for free. At the end of the year, you should renew the license in order to receive all the releases for the next year, and so on.
Q14. Do you offer full source code for your controls?
JMB. Yes, the higher-level versions of our products contain all the source code for the controls contained in that product. So for example, DXperience and DevExpress Universal contain all the source for the controls for all platforms.
Q15. If source code is available, are we allowed to change the source code? Are there any limitations to doing so?
JMB. Yes, of course you can change the source. However, you would be then responsible for applying the same changes to the source every time we release a new minor/major version (and there could be upwards of 15 releases a year). Sometimes, we may rewrite or refactor our code such that it's no longer obvious how to apply your previous changes. Depending on how extensive your changes are, we might not be able to provide support.
You cannot circumvent our license agreement by providing non-licensed developers with controls you've altered by changing the source. Again, read the EULA to determine what you can or cannot do in this respect.
Obviously, we will not provide our signing keys for any assemblies you modify, so be aware of possible "DLL hell" problems that could occur on end-user machines if they have several apps from different vendors that use our controls.
Q16. Are we allowed to give the source code to the controls (whether we change them or not) to our customers?
JMB. No, the source code is not redistributable, even if you change it. The only files you may distribute are explicitly listed in the EULA. Your customers will have to purchase a license.
Q16-B. I'm writing an open-source product with your controls, so I'll need to provide your source as well. Can I do this?
JMB. No. Again: our source code is not redistributable, under any circumstances. For an open-source project that uses our controls, downloaders will have to purchase a license before they can compile it.
Q17. If we enhance your controls, is there a partnership program or similar to get our changes into the main product?
JMB. No, I'm afraid there isn't. We do not incorporate other people's code into our own; there are too many legal ramifications to cover, and to be honest we'd prefer implementing the solution to a given issue/suggestion ourselves than paying legal fees to cover those ramifications. We are, after all, developers; it says so in our company name.
Q18. If a bug is reported in any of your controls, would you give us a hotfix? If so, within what timeframe?
JMB. There are no hard-and-fast rules here: it really depends on the severity of the issue, whether there is a temporary workaround, etc. In most cases, you will be able to get a hotfix from support, or from the issue's page in Support Center. Sometimes, there's no possibility of a hotfix and you will have to wait for the next minor release. Since we publish releases every three or four weeks or so, it's unlikely you'd have to wait too long.
Q19. Do you have a premium level of support where you provide dedicated resources to help us or solve the critical bugs we may find?
JMB. No, there is no such premium level of support. We endeavor to fix critical bugs (that is, those without a viable workaround or those visible to many customers) as soon as possible.
Q19-B. How about priority support then?
JMB. Priority support is provided with DevExpress Universal. Those questions that can be assigned to a Universal license are automatically prioritized and will be replied to before any others.