More openness and ease for access
About a year or so ago I learned about GitHub: DNN moved its
source to this platform so that it would be easier for people to contribute bug fixes and enhancements, in line with the true nature of Open Source.
The move of DNN was not very successful in the first period, but slowly people got used to the possibility to contribute and working with
GitHub. As a result, the # of contributions is growing and growing! See the community blog post of Joe Brinkman with an excellent illustration of growth in participation of the community in new releases of the platform.
I have been struggling with GitHub in the beginning: it is so much different
from TFS, the source control system that I am used to, both in my professional environment as well as with CodePlex for several DNN modules: Events, FAQ and Reports.
I am jealous
During the last year I have become a bit jealous with regards to code fixes that were submitted for DNNPlatform. Together with several people, most notably Roger Selwyn, I have been maintaining the DNN Events module for more than 7 years, with success. But if I look back, the number of code donations by others than Roger and me can be counted on the fingers of one hand. In short: all changes have been done by the people in the module team, processing dozens of requests of DNNEvents users.
I will not try to analyze why there were so few code donations, I just conclude that that was the way it was over the last years. And yes, WAS the way it was, because I have changed things!
TRANSFERRING core modules sources to GitHub
With some help of of Joe Brinkman, I have created GitHub repositories for the source of several (former core) DNN modules: Events, Faq, Reports.
Moving the source project of these modules to GitHub was not a simple step. My initial idea was to move the complete source history of the modules from the CodePlex source control to GitHub. So I requested CodePlex support to change the source control for the modules from TFS to Git, I created a clone of the CodePlex/Git locally, created a new remote repository on GitHub and pushed my local clone of the TFS repository to the GitHub repository.
That did not work out the way I wanted. The repos on GitHub contained a lot of old material, the module project structures were not clear, there were folders with files that were irrelevant for the current state of the modules. So I decided to start all over again and create repos on GitHub with (only) the source of the most recent version of the modules and forget all old material. That turned out to provide a better result: clean, straight forward.
Core modules on GitHub
Where can you find the repos? There is a general group on GitHub for all the community modules:
And you will find the core module repos there:
In the upcoming period, I will (motivate to) move the source of other core modules to GitHub as well, if the current projects owner agree on that. For the first three I could decide myself. Limiting the first round to those three is a nice way to get some real life experience in working in a new way.
Distribution on CodePlex
Distribution of the install packages, documentation and issue handling will remain on CodePlex, so you will find the end results in the familiar location. But I (we) will maintain and improve the source code via GitHub. Getting your version of the source is now a standard Git process: Fork & Clone! And if you start improving the module, don't forget to produce pull requests, DNN is Open Source!