How to request to join project?

Talk about writing modules and plugins for CMS Made Simple, or about specific core functionality. This board is for PHP programmers that are contributing to CMSMS not for site developers
Sonya

How to request to join project?

Post by Sonya »

No, I am not writing a howto on forge :) I am just trying to update some useful modules that have only small easy to correct failures, but seem to be abandoned by project admins. These failures make usage of modules impossible without deepen into module programming.

Now, I have found another "victim", updated it and would like to join to the project (module FEUCalendar). But I do not see "Request To Join Project" link on http://dev.cmsmadesimple.org/projects/feucalendar

Question: how can I contribute to the module and commit my changes?

Thank you :)
calguy1000
Support Guru
Support Guru
Posts: 8169
Joined: Tue Oct 19, 2004 6:44 pm
Location: Fernie British Columbia, Canada

Re: How to request to join project?

Post by calguy1000 »

The 'Request to Join' stuff is off by default for all modules.  Module administrators have the option to enable that functionality.
Follow me on twitter
Please post system information from "Extensions >> System Information" (there is a bbcode option) on all posts asking for assistance.
--------------------
If you can't bother explaining your problem well, you shouldn't expect much in the way of assistance.
Sonya

Re: How to request to join project?

Post by Sonya »

OK, the project I have mentioned above is abandoned.

Alpha release from 2006-09-27. The project leader - tamlyn was last active in forum 04-10-2007

I do not like to create a new module to change 3 lines in the original one. And I would like to keep forge clean and do not increase the garbage of abandoned modules. What can I do now?
Dee
Power Poster
Power Poster
Posts: 1197
Joined: Sun Mar 19, 2006 8:46 pm
Location: the Netherlands

Re: How to request to join project?

Post by Dee »

Try contacting (one of) the project admin. You can also / if you don't get any response contact Ted by sending him a message or joining #cms on IRC.

Regards,
D
calguy1000
Support Guru
Support Guru
Posts: 8169
Joined: Tue Oct 19, 2004 6:44 pm
Location: Fernie British Columbia, Canada

Re: How to request to join project?

Post by calguy1000 »

Personally, I have a problem with just allowing somebody else to 'take over' a project.  Even if you have tried to contact the developer, and gained his permission, or not.

There are potential problems with copyright, and problems with the original author still being barraged for support requests for changes the new guy made.  And I personally, as one of the maintainers of the forge don't want to be party to it.

I prefer that the new developer fork the module to a new name, and then maintain the copyright notices, license, and credits appropriately in the source, and the documentation.  Then at least the CMSMS dev team didn't 'facilitate' copyright infringement.

And I know, even if I disappear from CMSMS for a year or two, I don't want anybody besides the other dev team members to have control over my code.  I want my copyright and licenses to be maintained in my code.

As well, I have already had difficulties where I granted permission for some users to commit code, and then released it without having tested it thoroughly.  I got several emails and bug reports about bad functionality, and one emergency popped up.  This caused me to have to make emergency late night bug fixes, and releases... and as much as possible, I don't want that happening again.  I'll take responsibility for the bad things that I do, but I don't like having to take responsibility for others code.  This is also the reason I no longer grant permission for anybody to 'join' my projects, unless I already have a good working relationship with them, and am confident in their skills.

Regarding stale projects, etc.  At some point soon there will be a need to cleanup the forge, and get rid of stale projects... that is a mere housekeeping project, which we need to write the functionality for in any event.  We just haven't gotten there yet.
Follow me on twitter
Please post system information from "Extensions >> System Information" (there is a bbcode option) on all posts asking for assistance.
--------------------
If you can't bother explaining your problem well, you shouldn't expect much in the way of assistance.
Dee
Power Poster
Power Poster
Posts: 1197
Joined: Sun Mar 19, 2006 8:46 pm
Location: the Netherlands

Re: How to request to join project?

Post by Dee »

Personally I think making a fork for a small change in an abandoned module will lead to enormous cluttering of the forge. Especially with the frequency changes are needed to modules to keep them working in newer CMSMS versions.

Also personally I wouldn't mind at all and be grateful if I don't have time to maintain one of my modules when some other developer makes fixes to the code in SVN. Changes can alway be undone by the project admin by taking it back to a previous revision.

In the case the original developer doesn't reply to multiple tries to contact over some period of time I see no problems to add someone as a developer or apply patches to an existing project.

Regards,
D
Sonya

Re: How to request to join project?

Post by Sonya »

calguy1000 wrote: Personally, I have a problem with just allowing somebody else to 'take over' a project.  Even if you have tried to contact the developer, and gained his permission, or not.
Hi calguy,

all that you have written applies to alive developer with alive project. And I can understand all your arguments. In my case though there is a really abandoned project. The core functionality fails. There is no sign of life from the developer since October 2007. And I have tried to contact him by e-mail given in forge. His e-mail address does not exist any more (Mail Delivery Failure).
calguy1000 wrote: There are potential problems with copyright, and problems with the original author still being barraged for support requests for changes the new guy made.   And I personally, as one of the maintainers of the forge don't want to be party to it.

I prefer that the new developer fork the module to a new name, and then maintain the copyright notices, license, and credits appropriately in the source, and the documentation.  Then at least the CMSMS dev team didn't 'facilitate' copyright infringement.
I have moral objections to fork module, change about 10 lines in it then remove the original copyright, add my own name and say it is mine. And I am not going to develop on this module in the future. I have just corrected the core functionality, so that it can be used as announced. So I do not want to take over the project really, but just contribute the bug fixes that are tested on custom installation.
calguy1000 wrote: Regarding stale projects, etc.  At some point soon there will be a need to cleanup the forge, and get rid of stale projects... that is a mere housekeeping project, which we need to write the functionality for in any event.  We just haven't gotten there yet.
I have many times suggested my help with quality assuarance on 3rd party modules. I have written a 10-step-suggestion (about 3 pages) on how I would do it (not only one time cleanup, but defining processes to keep forge clean consequently). I do not  only make suggestions but offer my time as well. I have sent these 10 points to Ted and hope to get any feedback from him.
Last edited by Sonya on Sat Jul 18, 2009 6:12 pm, edited 1 time in total.
Sonya

Re: How to request to join project?

Post by Sonya »

Dee wrote: to add someone as a developer...
... is not enough. Only project admin can make new releases. Developers can only contribute.
Last edited by Sonya on Sat Jul 18, 2009 6:20 pm, edited 1 time in total.
Sonya

Re: How to request to join project?

Post by Sonya »

Dee wrote: Personally I think making a fork for a small change in an abandoned module will lead to enormous cluttering of the forge. Especially with the frequency changes are needed to modules to keep them working in newer CMSMS versions.
Absolutely.
Dee wrote: Also personally I wouldn't mind at all and be grateful if I don't have time to maintain one of my modules when some other developer makes fixes to the code in SVN.
But nobody knows about it  :) And thus each developer fixes the same bugs on its own reinventing the wheel.
NaN

Re: How to request to join project?

Post by NaN »

I completely agree to Sonya.
But I also agree to Calguy.
Regarding to the license stuff it is not easy to just add a new project admin.
You may not add changes to a project and publish it as exactly the same one if the author did not gave any permission to it.
It will end up in a license problem.

If a project is abandoned and no longer maintained by the admin himself and does not work anymore with the latest cms version (maybe at least with the last 3 versions), it should be removed from forge and replaced by a fork version with new a admin.
(And at least a comment that it is based on "the original module" what isn't maintained anymore.)

I believe there won't be any other solution.
Sonya

Re: How to request to join project?

Post by Sonya »

NaN wrote: If a project is abandoned and no longer maintained by the admin himself and does not work anymore with the latest cms version (maybe at least with the last 3 versions), it should be removed from forge and replaced by a fork version with new a admin.
(And at least a comment that it is based on "the original module" what isn't maintained anymore.)
What about "degrading" the original admin to the co-developer, so that he is still able to contribute to the project if he wakes up?

The most modules are released under GNU License http://www.gnu.org/copyleft/gpl.html
"Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it."
If I contribute just small bug fixes I do not pretend to add my copyright. But I can add my name in the contributors part if it is essential for me.
calguy1000
Support Guru
Support Guru
Posts: 8169
Joined: Tue Oct 19, 2004 6:44 pm
Location: Fernie British Columbia, Canada

Re: How to request to join project?

Post by calguy1000 »

I do not like to create a new module to change 3 lines in the original one. And I would like to keep forge clean and do not increase the garbage of abandoned modules. What can I do now?
And who is going to take responsibility for those changes?  Who's gonna get the emails if there is a problem because of the new code you've changed/introduced?  Probably the initial developer.  That is not right, or fair, because the original developer did not necessarily give you permission to have commit and/or release access, but still is owner of that code.    Also, is this project then 'live' again? or is it still 'stale'?

I understand that you just want to change 3 lines of code, and release it so the public can use the module and have it work.   But what about the next problem, the next person?  or the next project?  

It's better to let these projects die, and have somebody else fork them, and then take responsibility (while still giving the original author the credit that is due).

All the dev team has to do is then mark the appropriate projects as 'stale', and maybe after time remove them completely from the forge.
Last edited by calguy1000 on Sun Jul 26, 2009 9:08 pm, edited 1 time in total.
Follow me on twitter
Please post system information from "Extensions >> System Information" (there is a bbcode option) on all posts asking for assistance.
--------------------
If you can't bother explaining your problem well, you shouldn't expect much in the way of assistance.
Pierre M.

Re: How to request to join project?

Post by Pierre M. »

Hello,

interesting discussion :-)
I think if modules had strong regression testing benchs if would help module maintainers/admins to qualify tiny patches as OK for inclusion. In case of a module problem the maintainers/admins/releasers could ask the users/complainers to downgrade the module to the "pure" version they released themselves before (the one without the third party patch). If the problem disappears the patch is guilty otherwise it is normal operations (maintainer support).

BTW let us not confuse a forge project maintainer and a software copyright holder. I'm not a lawyer but I can imagine this scenario under a license like GNU AGPLv3 :
D1 initiates a 110 lines module. D2 joins by submitting a +20(+30-10) lines patch. D3 joins too rewriting half of what D1 has done and extending far functionality and doc (+200-50). D1 remains the forge maintainer (merging contributions) while D1, D2 and D3 are copyright holders (respectively on 50, 20 and 200 lines ; approximately but I'm not sure it matters under GNU AGPLv3).

In the last 2-3 years it seems the Debian Project has become much stronger and efficient by breaking the "lonesome dev for each package" motto. There seems more teamplaying and less "oct 2007" class issues. So may be D2, D3...DN should share D1 workload and responsibility to write test cases, run them, respond to users, and so ?

Happy projects !-)

Pierre M.
KO
Power Poster
Power Poster
Posts: 562
Joined: Mon Nov 06, 2006 7:55 pm
Location: Helsinki, Finland

Re: How to request to join project?

Post by KO »

Looking from designers or module users point of view the worst case is that someone builds a module, makes it public, advertises how cool it is, people start using it and then author abandons it. Then new CMSMS version comes out and it is not compatible with that module anymore and no-one is allowed to commit a fix to it. Now every user should eighter try to fix it themselves or convert to using some other "fork" with probably different database tables, CSS classes and whatever undocumentet changes.

I see a great deal of "Open Source" and "Simple" lost in here.
NaN

Re: How to request to join project?

Post by NaN »

@KO:
Yes you're right. But what do you suggest to do?
There are some laws we may not forget to think about.

Maybe the CMSms dev team can create some kind of general terms of use of the forge.
So every developer that releases a version admits the forge admins to retire him from the admin status (not from being the auhtor) if the author himself has no intention to suport it anymore.
Or to advance someone else as new project admin.
If he does not accept it he may not publish his project.
So we don't need to create a fork every time a project is not suported anymore.

Just an idea:

As long as i understod the terms of the GPL you are allowed to modify the project and republish it etc. as long as you give credits to the original.
What about handling each project not as the original but as a copy of the original owned and published by cmsmadesimple.org?
So the dev team can advance whoever they want to be project admin.
The author does not start an own poject but provides his code for a project that is owned by cmsmadesimple.org.
Providing his code for a project does not mean that there will be a module released.
But if so you can nominate whoever you want to be admin.
What in most cases will be the author (if he wants it).

I know that this means that cmsmadesimple.org will be responsible for each module instead of the author but so you won't get in trouble if the author does not support the project anymore.

I hope you understand what i'm talking about.
Post Reply

Return to “Developers Discussion”