Full Text Search: The Key to Better Natural Language Queries for NoSQL in Node.js
When you enter a new career, you often have to shell out a lot of money for the tools you need to get started. What is great about the development world is this cost of entry has shrunk over the years to the point where you can get your tools for free.
I was reviewing the Perforce site after having received a press release on their new Helix platform. Emblazoned on their site is the statement “Free 20-User Edition” with information on how you can get their full product family for free, including technical support, for up to 20 users. This includes 20 workspaces and unlimited files with no time limit. What are they giving? They are giving the Perforce Versioning Engine components.
Perforce’s Versioning Engine is just one example of a multitude of products that developers can snatch up at no cost. Microsoft has been giving away Express editions of the Visual Studio development environment for years. These Express editions were more than capable of building full-fledged solutions for a variety of platforms using a variety of languages. This past year, Microsoft combined these into a new, and still free, Community Edition that is even more substantial. For a developer targeting Microsoft’s platforms, there is no better starting point if you are looking to avoid costs.
Of course, if you are looking to do Java development, the Eclipse IDE also is freely available. Eclipse also works for C/C++, PHP, modeling, testers, and much more.
I’ve spent a bit of time working with Intel over the past year as well. Although most people consider Intel a processor company, Intel also develops a lot of software solutions, many of which are freely available as well. The Intel XDK is a cross-platform development tool for building applications with HTML5. The Intel XDK is available for Windows, Apple OS X, and Linux at no cost. This tool lets you target a variety of platforms with your solutions and even gives a free Apache Cordova build service.
What do the companies gain?
I’ve only listed a few of the free tools available today. When something comes free, many people wonder what the “catch” is. In most cases, there is a reason the software is free, but the reasons are not always the same. I can speculate why the products I’ve mentioned are free. In many cases, the reasons are the same, but not always. I list three different categories for free offerings.
Free Community Products
For products like Eclipse and, like many open sourced projects, the software is free because the community came together to build a product and the community supports and maintains it. This co-op model means that everyone shares the time and effort to build the product.
Free Basic Versions
For products like Perforce’s Versioning Engine and Microsoft’s Team Foundation Server (TFS), they are free as long as you are working with a limited number of users. This is great when you are getting started. If your company or project grows, however, you will need a bigger tool. The hope, or expectation, is that you will eventually grow to the point where you will move into the versions that have more users and thus have a fee. These companies are helping you get started in the hopes that you will continue with their products after you’ve outgrown their basics.
It is important to note that, while I am saying “basics,” that doesn’t mean the products are limited or crippled. In the past, many companies would give a limited or “time-bombed” version to get you started.
Free “This for That”
Many companies build products to give away so that you’ll consider other things the company does. These are loss leaders that help drive other initiatives. Intel’s software programs are great examples of this. If you build applications that use the Intel XDK, you can target any platform for your applications. More specifically, if you build an HTML5 mobile application, it will not work on just your iPhone or iPad, but you’ll also be able to target the multitude of devices that are running Intel processors.
Of course, some products are offered for free for more than one reason. A product such as Visual Studio Community Edition falls into both the “this for that” category as well the free basic versions group. Microsoft wants developers targeting their platform. They also would like to see developers upgrade to their more robust, paid versions.
It is a great time in the development world because it is easy to pick up new tools and new skills with no cost other than your time. I’ve only mentioned a couple of tools on the market that are free. If you know of tools that are fully featured to be used in production and are not time-bombed or crippled to the point of being useless, feel free to post a comment on this article. In the mean time, happy coding!