Closed (fixed)
Project:
RoleAssign
Version:
master
Component:
Code
Priority:
Critical
Category:
Feature request
Assigned:
Unassigned
Reporter:
Created:
12 Mar 2008 at 20:21 UTC
Updated:
16 Dec 2008 at 09:22 UTC
Jump to comment: Most recent file
Comments
Comment #1
TBarregren commentedYes, I am planing to port it to D6 as soon as I get some time over. It will probably not happen this month.
Comment #2
salvis@TBarregren: Your unusual copyright notice is scaring off people who might otherwise be willing to port this module for you.
Comment #3
TBarregren commentedDo you assert that the standard GPL copyright notice, dictated by the license itself, is "unusual" and "scaring off people", or are you referring to something else? As far as I know, the only copyright notice I use is the following, which merely states that the module is available under GPL v 2 or later:
So feel free to contribute a port of the module.
Comment #4
TBarregren commentedI am planning to port this module to D6 during the second half of June. It is just a matter of time.
Comment #5
salvisPlease take this as constructive criticism.
I'm asserting nothing. Out of the 50+ contrib modules that I have installed, roleassign.module is the only .module file that has the word "Copyright" in it. Obviously, that's not a representative count, but would you say that RoleAssign is in the mainstream?
You are strongly asserting your authorship by including the word "Copyright" not once but three times in roleassign.module, and by doing so, you're erecting a wall around your module. That's your choice, and I'm not denying your right to do so in any way.
I considered contributing a D6 port, but it didn't feel right to do that under your explicit copyright; so I wondered whether I should then add my own copyright line to yours, but since I don't want to challenge your authorship (which seems to be extraordinarily important to you), I just dropped the idea. Again, not representative, just my personal experience with RoleAssign...
Thanks for a great module! It's an absolute must-have IMO, if you're sharing administrative permissions with less experienced people, and I'm looking forward to your D6 port, which is the last missing piece that keeps me from moving to D6.
Comment #6
TBarregren commentedHans,
I don't want to be on bad terms with you, and I respect your decision to not contribute a port because of the copyright and license notice, but for the protocol, I will explain why I believe it is necessary to include the notice in order to give you and everyone else the freedom
The copyright notice is a necessary claim of the copyright of the work and prevent it from becoming public domain in US and other countries where that notion has a legal meaning. One could believe that the public domain is the ultimate freedom, but as with non-reciprocal licenses (e.g. BSD, MIT), the freedom can be "taken away" as RSM puts it.
The license notice is necessary to identify that the code is subject to terms and conditions of the GNU General Public License version 2, and to disclaim any warranty. Version2 (but not version 3) of GPL requires that there is a notice "placed by the copyright holder saying it may be distributed under the terms of this General Public License" (see sec. 0). The license also contains detailed instructions on where the notice should be placed and what it should contain. Especially it says: "file should have at least the "copyright" line and a pointer to where the full notice is found".
Sincerely,
Thomas
Comment #7
salvisThomas,
Thank you for your explanation. It makes sense for a sizeable, solitary work.
<legal_digression>
About all civilized nations have signed the Berne Convention (even the US, although it took them almost 100 years), which guarantees copyright protection even without any explicit copyright notice. No work goes into the public domain, unless the rightful copyright owner explicitly places it there (or copyright protection expires).
My (unqualified) legal understanding is that modules published on d.o aren't separate works but extensions of Drupal, and as such are covered by Drupal's licensing provisions. They don't need (and actually cannot have) their own licensing provisions.
</legal_digression>
I understand your reasoning, and maybe we should all follow your steps, but I haven't seen anyone else doing it. That doesn't mean you have to change your ways, but it makes RoleAssign "unusual."
This is not about legal mumbo jumbo, but about my own personal gut feeling, which may or may not be shared by others. Let me say it again: RoleAssign is a must-have in my book, and I appreciate your writing and sharing it. That's why I wrote #2, not because I want to pick a fight, but to give you some honest outside feedback. Maybe I should have phrased it differently, so let me do this here and now:
I was going to port RoleAssign to D6 and post the patch, but when I saw the prominent Copyright notice, I decided to wait for you to do it instead. It has been a long wait, so I looked again, finding the actual code to be only about 8K (porting should take less time than this discussion...), but I also found two more mentions of "Copyright" in the same file, which told me that the author must be really paranoid about protecting his work.
In the meantime you kindly invited me with "So feel free to contribute a port of the module," but actions speak louder than words, with the action in this case being the armored state of the module, which tells me that it's not meant for cooperative development. (Please don't reply with legal arguments, I'm aware of them.) I have an instinctive block against touching such a file.
So, I continue to wait patiently, hoping that if it does "not happen this month", then maybe next...
Best,
Hans, who happens to live in Berne
Comment #8
geodaniel commentedsubscribing
Comment #9
David Lesieur commentedI also think that copyright holders do not have to be explicitly listed in the module's documentation or code. Legally, all authors of committed patches automatically become copyright holders, and it is easy enough to find all of them on drupal.org and the CVS log. If you wanted to explicitly state copyright, then you'd have to list all the patch contributors...
However, I'm not here to discuss the copyright issue. :) It's been suggested that we merge RoleAssign and Role Delegation. Correct me if I'm wrong, but Role Delegation is one feature away from implementing all RoleAssign has, and Role Delegation already has a Drupal 6 version. Sun suggests that Role Delegation becomes the Drupal 6 version of RoleAssign.
I'd be glad to have Thomas on board, working with me on Role Delegation — although I'd require that we do not explicitly state any ownership on Role Delegation, since strong ownership discourages community support. What I'd totally agree to, is to show David Lesieur and TBarregren as co-maintainers on the project's page. :)
Comment #10
sunLike salvis already mentioned, no module in drupal.org CVS needs to state copyright or license terms in code. Any code in and committed to d.o CVS is automatically licensed under the GPL. Hence, LICENSE.txt is automatically added by the d.o packaging script to all downloads. Stating the copyright elsewhere is superfluous, and, may even be in conflict with d.o's CVS policies.
Other than that: Thomas, it would be great if you could join up with David, and mark RoleAssign as deprecated.
Comment #11
salvis@David: For users that have the administer users permission, RoleAssign's way of restricting the roles list in place is superior to Role Delegation's separate Roles tab. See #287914: Add role assignment widget on user/edit and admin/user/user/create.
@Thomas: The "second half of June" (see #4) has passed. RoleAssign still has its place for people who don't need the fine-grained control of Role Delegation. If you don't want to join forces with David and deprecate RoleAssign, then I'd greatly appreciate getting a D6 port.
Comment #12
David Lesieur commented@salvis: Thanks for pointing out this perfectly valid use case — it might even be the most wanted type of use. I still see no good reasons having two separate modules, since the issue could be addressed in Role Delegation. We'd end up with a stronger module by joining forces.
Comment #13
Squirrelly commentedSubscribing.
This has been a very useful feature for me, and I'm looking forward to a D6 version, one way or another.
Thanks, Thomas.
Comment #14
gaele commentedTBarregren, if people would like to help you and port the module, could you please explain what should happen to the copyright notice? Should they add their own name, or leave it intact?
Comment #15
TBarregren commentedSalvis arguments above has convinced me that I can remove the copyright notice. Crell's answer on a question of mine has convinced me that I can remove the GPL boiler plate text. I will therefore remove both the copyright notice and the GPL notice.
Comment #16
TBarregren commentedI have now removed the copyright and GPL notices:
Comment #17
plachHi, I absolutely needed the 6.x version of this great module, so this is my port patch.
Hope you can find it useful.
Comment #18
cozzi commentedI'm in the process upgrading to D6 and while the module saves a great deal of work for me I am considering whether to remove this module for now or apply the patch above. Can someone give me a brief summary as to how to install the patch at anything else I need to do after installing it?
Comment #19
plachOnce you have applied the patch, you should be able to use RoleAssign on D6 exactly as you did with D5.
If you're not familiar with CVS and patching I strongly recommend you to use the Eclipse IDE in his PDT flavour to checkout projects and apply patches.
Here you can find some good links that explain how to set it up with Drupal:
http://drupal.org/node/37615
http://drupal.org/node/60179
http://drupal.org/node/157609
The last one is specifically about backend development but explains how to configure the Eclipse text editor to work with Drupal-specific file extensions.
Comment #20
tobiassjosten commentedApplied the patch from plach and made some minor adjustments before rolling it out. There's now an official Drupal 6.x version of RoleAssign!