Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeOur CommunityOur CommunityGeneral Discuss...General Discuss...Why is DotNetNuke giving itself a black eyeWhy is DotNetNuke giving itself a black eye
Previous
 
Next
New Post
8/19/2008 3:12 PM
 

ROBAX wrote

telling people to step up and contribute is a dead-end request when there is nowhere to contribute the skills

I've been reading this thread, a couple times while visual studio acts up, and the above comment is something I've felt I want to comment on for a little while now.
I'm going to be addressing this from a (pretty much) pure developer stand point. It's what I do. I don't manage, I don't do CR. I design and code so that's where I'm coming from.

When I started with DNN I found it to be fantastic and looked for ways to contributre code (ahh college days of free time), the path I found was (roughly)
Get on a project
Be kick ass on project
Eventually/Maybe get to do code submission to the core
Show your core code to be kicks ass
Slowly over much kick ass core code, get more core privlages.

I don't remember where I read/saw this, but that is the impression I got when I did look into it; It's the one I've been going with since.
The reason I want to comment here, is because of phase 1 - Get on a project.
How?
For me - While I want to be contributing, I also want to improve some skills I see myself as lacking. Specifically with the DNN framework. So not every module is going to be appealing to me. I don't want to work on a project to be working on a project, I want to work on a project I want to work on.
When the documents team needed some filling, I offered myself up to work on it because I'll learn a lot about the DNN file manager doing that and that's something I want to learn more about. I don't expect to struggle with it, just that I haven't had a project to deal with it on.
Even from the stand point of getting on any module - The documents is the only one that's put out a call for new members that I can remember.

I know there would be issues/problems with too large of teams, but that leads to - How do we get contribute once every team lead is satisfied with the project team?

I've gone to each Module project page and looked to see if I could find any that were looking for new members... I did some other stuff while looking...

There are 24 modules (Modules :: X) listed, 1 is cancelled (Contacts). Out of the remaining 23 modules, 2 list that they are looking for people, 1 of them is the documents module. So there is 1 I can assume is actually looking; The Media module. 1 out of 23 modules that can be attempted to join.

Out of these 23 projects there are 73 team members; About 3 per project. Looking at some stats we see that:
8 have 1 person. 5 have 2 people. There are only 2 with 10+ people; Events(10) and Gallery(12). 6 with 3 people, 2 with 4 and 5 people and 1 with 6 people.
1/3 of the projects are 1 man projects. 1/5 are 2 people.

I'll agree that getting much above 5(ish) without someone specifically there to guide communication and tasks (AKA - project manager) can become difficult, but using them would give non-devs a way to contribute.

 

I went all rambly there - The basic point is - How do I contribute? Where do I go to do this? If we exclude "Join a project" as an option, what other avenues of contribution are made available to us?


 

 
New Post
8/19/2008 3:58 PM
 

Baatezu wrote
 

I've been reading this thread, a couple times while visual studio acts up, and the above comment is something I've felt I want to comment on for a little while now.
I'm going to be addressing this from a (pretty much) pure developer stand point. It's what I do. I don't manage, I don't do CR. I design and code so that's where I'm coming from.

When I started with DNN I found it to be fantastic and looked for ways to contributre code (ahh college days of free time), the path I found was (roughly)
Get on a project
Be kick ass on project
Eventually/Maybe get to do code submission to the core
Show your core code to be kicks ass
Slowly over much kick ass core code, get more core privlages.

I don't remember where I read/saw this, but that is the impression I got when I did look into it; It's the one I've been going with since.
The reason I want to comment here, is because of phase 1 - Get on a project.
How?
 

Your summing up of code contributions is correct, that's basically the process that nearly all contributors have followed - though some (like me) came in as a core contributor as we don't do project related tasks e.g. i head up our security team. One thing that's perhaps not obvious is that it's a two-way street, the core also reach out to talented individuals that we notice e.g if i notice someone in the forums who regularly helps others with helpful and knowledgable posts in the forums I'll mention their name in our weekly chats and see if any project teams could use another team member. I know a number of team leads have used this to add to their teams e.g. I noticed Don Worthley making a number of useful blog related posts and saw that he had created some useful blog additions and let the project lead, Antonio know. Antonio contacted him and he is now a valued member of the blog team.

It's done like this for a reason, in the past we've had too many project team members join and not end up contributing anything - they simply wanted the kudos of being a team member (I guess for CV purposes in many cases), so we wait until someone has demonstrated the desire and ability to contribute without credit. This makes it much more likely that they will end up actually doing some work.

To be noticed like this, the best routes are to post in the forums, and also post issues in the issuelog @ support.dotnetnuke.com - users who supply code as well as detailing issues (make sure and use the "code for review" status) are particulary welcome :) . That way if a team feels they can use additional bodies, we'll be aware of you, or else if a project lead asks for new team members via a blog they'll recognise you.

BTW, another thing to be aware is that we take great care to ensure that all code in dotnetnuke is valid and that the IP of dotnetnuke is maintained. Basically this means that whilst we can accept simple fixes such as bugs or minor enhancements , but that larger chunks of code require legal protections i.e. say someone approaches us with a large chunk of code and we add it to dotnetnuke - if that code later turns out to have come from another project or some code that a user wrote whilst employed by someone, we would be infringing on copyright. Obviously this would be a huge problem with lots of chance of litigation (see sco vs linux for a recent example http://en.wikipedia.org/wiki/SCO-Linux_controversies#IBM_code_in_Linux ). This is why major contributors to dotnetnuke and all core and project team members sign agreements that licence code to dotnetnuke and make them personally liable for any contributions. By doing this the contributor and not the project become legally responsible i.e. I go to jail, not Shaun :)

Cathal


Buy the new Professional DNN7: Open Source .NET CMS Platform book Amazon US
 
New Post
8/19/2008 5:41 PM
 

I would like to add further to cathal's comments.

I spend a lot of my time in Gemini fixing bugs, and it is a lot easier for me (ie less time) to fix a bug that has some suggestions or a possible fix.

Many bugs just document how to reproduce a bug, but if you are a developer and you have the source, you should be able to suggest a work-around.  I have already suggested names of people who did suggest code that was ultimately used for review for possible team membership.

So, if you are a developer - log (and/or fix) bugs.  You may not have direct commit privileges, but that is the quickest way to get something into the core codebase, and after a few good fixes you could be asked to join a team.


Charles Nurse
Chief Architect
Evoq Content Team Lead,
DNN Corp.

Want to contribute to the Platform project? - See here
MVP (ASP.NET) and
ASPInsiders Member
View my profile on LinkedIn
 
New Post
8/19/2008 6:00 PM
 

I agree that it is not always easy figuring out how to contribute.  There are many avenues - some of them obvious - some of them not so much.  Here's one that doesn't require any approval from Shaun, myself or any project lead - create an open source module and post it on codeplex through the forge.  Build a team and really work on making it the best module for its intended purpose.  Stay commited and keep improving the module.

Does this approach work?  Sure it does - just ask Michael Washington.  He worked very hard on the Firebird Dataprovider project and was very active in promoting alternative approaches to simplifying data access in DotNetNuke.  In the end the Firebird project died off due to some technical issues and his original DAL2 project did not get very far either.  The important thing is that Michael stayed commited to trying to educate people on some of the challenges and helped to do what he could to fix them - without being a member of the team or even having any expectation of being invited to the team.  When he was invited onto the core team, he put those skills to work on the DAL+ methods before taking over the job leading the survey project.

What doesn't work however is working on a bunch of code and just throwing it over the wall, thinking that we'll accept it and be responsible for maintaining it.  Your code is unlikely to fit in with our long-term plans or how we like things architected and coded. 


Joe Brinkman
DNN Corp.
 
New Post
8/19/2008 6:22 PM
 

Joe Brinkman wrote
 

Does this approach work?  Sure it does - just ask Michael Washington.  He worked very hard on the Firebird Dataprovider project and was very active in promoting alternative approaches to simplifying data access in DotNetNuke.  In the end the Firebird project died off due to some technical issues and his original DAL2 project did not get very far either.  The important thing is that Michael stayed commited to trying to educate people on some of the challenges and helped to do what he could to fix them - without being a member of the team or even having any expectation of being invited to the team.  When he was invited onto the core team, he put those skills to work on the DAL+ methods before taking over the job leading the survey project.

Basically you contribute by "just doing it". I was asked to be on the Core to maintain the Firebird provider and it died (the team creating the provider did not use it themselves). I saw the Module developer's guide was out of date so I wrote a new one. No one asked me to do it, I just did it. I inherited the Survey module because John M. felt it needed more attention.

As far as giving back, we now have the DNN Forge. I strongly encourage people to start a Forge project. A great way to give back to the community and add good stuff to your resume.



Michael Washington
http://ADefWebserver.com
www.ADefHelpDesk.com
A Free Open Source DotNetNuke Help Desk Module
 
Previous
 
Next
HomeHomeOur CommunityOur CommunityGeneral Discuss...General Discuss...Why is DotNetNuke giving itself a black eyeWhy is DotNetNuke giving itself a black eye


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out