Overview: ATM comments can only be connected to nodes, But there are other places first class objects which would benefit from having being able to connect comments to them. In core itself users could be used to build something like a facebook wall where people can comment directly against your user instead of a node. Outside of core modules like API (http://api.drupal.org) which does not use nodes for the api content but allowing comments from core Drupal to the listed functions would bring this invaluable site up to a new level of quality and being able to help the community.
Description: This project is really 3 or 4 parts and not only coding. The first part is to make changes the Drupal 7 comment module to allow comments to be attached to be linked with any type of object. This will also have as a separate peice of work an example of adding comments to users. I am not sure if this will be accepted, but it will demostrate how any module can take advantage this new functionality. When extending the a first class object to take integrate comments the code should be minimal in that it should not take more than 100 lines of code, I would prefer less than 50 lines to add comments to any module.
The next part of this is not a technical challenge but to work with the Drupal community as a whole and see this patch through the Drupal feature queue. Work with the core maintainers and other core patch testers to see this patch committed to core before the code freeze.
During this process the student would identify contrib module that would benefit from have comments added to their obejcts, like the API module to allow developers to comment on things about functions within Drupal, and other projects like e-Commerce which could have comments being added to transactions. Depending on the contributed project and their state in reguards to porting to Drupal 7 this may be a small job or even assisting with help with porting the project enough to contribute a patch to allow for this functionality. This will also help cement the API and make sure that it is simple to implement.
I am actually quite excited by this project because the student will be working with so many people within the Drupal community and the complete emersion into the Drupal culture.
Mentors:
- Gordon Heydon
Difficulty: medium

Comments
Core projects
I think this is an AWESOME project, however we usually reccomend against doing core work (especially major core work like this) for Summer of Code projects. There is a greatly decreased likelihood of the code actually getting committed, which sucks for the student. Especially for a major rework like this, there's going to be a lot of stuff needing to be hashed out and the person doing it is going to need a really deep understanding of comment and other core subsystems. Which is too bad because we need something like this so badly.
the path to core and the purpose of SoC
I agree with heyrocker, but...the path to core is often through contrib, so why not make this a "generic comment" module that duplicates comment module to turn it into first class objects and live in contrib at first. Then...if we like it enough it heads into core.
Also, I have started to believe that the purpose of SoC is not to get code, but to get ongoing contributors. It's a lot to expect a student to learn to navigate the core issue queue in one summer, but if that is a major focus of the project then it could be more successful towards the goal of making the person a lifelong contributor.
--
Growing Venture Solutions | Drupal Dashboard | Learn more about Drupal - buy a Drupal Book
knaddison blog | Morris Animal Foundation
The problem with pulling out
The problem with pulling out the comment module and making it a contrib is that the changes to the comment module itself I do not think are going to be that extensive, and are not really going to make changes to the core of the comment module. It is only the linkages that are going to change.
The main part of the project will actually be the community interaction between the student and the rest of the community to get this patch committed.
It is a pity that the dependency system does have a "provides" option so that you can provide functionality provided by one module with that of another module. Then we could easily have a new contrib module that provides the content functionality for Drupal 6 with a patch for Drupal 7
--
Gordon Heydon
--
Gordon Heydon