What is T4 Toolbox?
T4 Toolbox is a set of ready-to-use code generation templates and essential supporting tools like custom directive processors, packaged in a simple installation program. Each completed code generation template includes a Visual Studio project item template to make it available in the Add New Item dialog of Visual Studio.
How is T4 Toolbox licensed?
T4 Toolbox is published under Microsoft Reciprocal License (Ms-RL). Boiled down to one sentence, this means you may use T4 Toolbox “as is”, no warranties, to generate your code; you may use T4 Toolbox to create your own, internal code generation tools; you may distribute your own code generation templates based on T4 Toolbox if your templates are also licensed under Ms-RL. In other words, the only restriction is that you may not sell a commercial library of templates based on T4 Toolbox.
Who is working on this project?
Can anyone else join?
Absolutely! If you have a T4 template you would like to share - we will be thrilled to have you on board.
Why would I want to “open source” my templates?
If you are in the business of building applications, having a free toolbox of code generation tools helps you to get your job done faster. You can reduce the up-front investment by taking advantage of the templates other people developed. And if you are a consultant or simply switching jobs, having your own templates published under an open source license allows you to take them to your next project or your next job without questions about intellectual property that belongs to your current client or employer.
Over the next couple of months I will be posting about the core framework of the T4 Toolbox as well as the ready-to-use templates we are adding to it. I hope that you will download new releases as they become available and let us us know what you think on the Discussions page and report bugs using the Issue Tracker.
If you are interested in joining the T4 Toolbox Team, please let me know. I will try to reach those of you who posted T4 templates in the past, but if I miss anyone, please consider this to be my personal invitation.