IMO, the Drupal community has certain expectations of module behaviour.
Recently I noticed a contrib module which tracked installation (via hidden <iframe>/<img>). This raises questions of privacy (and IMO security).
I didn't know of any policy which forbade this, even though it seemed obviously "not right" for Drupal.org to me. I asked in forums and IRC what policy we had against this. Everyone who answered seemed to be of the opinion that this wasn't acceptable, but no-one was able to identify any clear policy on how contributions may behave with regard to the site installing them in regard to privacy. Seems we have no such thing.
Obviously some modules which are widely found useful do have privacy implications - eg Google Analytics affects the privacy relationship between various Drupal sites and their users. That's not the topic I'm raising here; I'm talking about a privacy expectation between Drupal.org's contrib repo and the sites which install code from it.
Currently there seems to be a community expectation, but no specific policy which module maintainers may evaluate their module's behaviour against. For that reason, I am creating this issue to ask if we can formalise those expectations, and to identify any issues which might arise (eg modules which are currently popular but would contravene a policy, if one were formed).
And Security? IMO privacy issues can lead to security issues. In the example of a contrib module which directly tracks installations, a certain site on the internet is harvesting information about other sites using the same module; that site would be a valuable target for an attacker seeking to exploit a weakness in the said module, and likely an easier target if the site logging installations happens to run the module the attacker seeks to exploit on the other sites. This is maybe not central to the question of a privacy policy for contrib, but it is pertinent; there's a "house of cards" effect if a module with a vulnerability also circumvents the privacy afforded by anonymisation in the update status module.
Some existing (related) URLs -
* #178776: Create a privacy policy for drupal.org (dates back to 2007)
* Thoughts on a module which tracks installations?
Comments
Comment #1
dave reidI want to know which module it is so it can be handled in public ASAP.
Comment #2
michelleI'm definitely +1 to a policy. Even though we can only make policy for code hosted on drupal.org, I think anything in our repo should be clear of spyware.
Michelle
Comment #3
dave reidOk I know which module it is and I'm not really surprised to learn its a repeat offender.
Comment #4
dave reidSpyware should need no policy - it is just unacceptable no matter what
Comment #5
xurizaemonRelated: http://groups.drupal.org/dcoc
Comment #6
boris mann commentedDave -- spyware needs a written down policy and process that we can link to / notify around, rather than having whatever d.o. admins act as they see fit in a case by case basis.
I don't think the privacy policy applies, this is about CVS Usage policy. Handbook page, so go ahead and edit directly. I've done a first cut by adding another do not at the bottom, feel free to edit directly.
Comment #7
gerhard killesreiter commentedIf a module includes hidden iframes I don't need a policy to unpublish it. This is at least an invasion of privacy and might be even illegal.
Comment #8
WorldFallz commentedI don't want to edit the page directly until I see if there's some consensus, but I don't think the statement on spyware should just be another bullet at the bottom of a list saying that it "can be grounds for CVS account suspension" (emphasis added).
IMO it needs to be stated first, very obviously, and say something more like "Any discovered spyware, malware, or undisclosed tracking code of any kind will result in the immediate suspension of your CVS account, unpublishing of the affected modules releases, and a warning on the project page." It probably should be mentioned on the cvs application page as well. It's that important.
afaic this is just as serious as security issues and should be handled similarly-- 0 tolerance. Any developer doing that knows exactly what they're doing-- there's no need for coddling them with 24 hour notice and such.
just my $0.02 worth.
Comment #9
chx commentedI am against written policies where common sense would do. It only serves as loopholes "but it's not in the policy, we did nothing wrong". Spammers and other scum are cunning and come up with new tricks too often. I do not want to chase them.
Comment #10
WorldFallz commentedI agree with you chx, but this is why: http://drupal.org/node/847952#comment-3177032
It helps to have something to which we can point these rocket scientists.
Comment #11
avpadernoI understand the reason for creating such policy, but I also understand the point given by chx. Having a policy would allow the same rocket scientists to say that what they didn't is not expressly forbidden from the policy, in the same way they are now saying there is not a policy that forbids to do what they did.
A policy that describes what is not allowed in detail would not be useful because users could always say what they did is not expressly forbidden; a policy that describe what is not allowed in a too generic way is not useful too, as users could give their own interpretation.
The truth is that Drupal.org is a community; if 3 webmasters / site maintainers decided that what a user done is not allowed, then it's not allowed.
Even if there would be a policy, there should always be somebody who needs to give the correct interpretation of what reported in the policy, in the same way a judge give the right interpretation of written laws.
Comment #12
michelleMy vote is to keep it simple. Add a general rule that spyware is unacceptable so people can't say they didn't know. Don't go into details that can have loop holes. Make it clear in the document that interpretation is up to maintainers / admins. Set an action list something like this:
1) If an issue is found, webmaster makes a webmaster issue and notifies the maintainer.
2) Issue should be +1'd by N maintainers.
3) After N days, release is unpublished until issue is resolved.
Michelle
Comment #13
dmitrig01 commentedThe admins still ultimately have control. Ultimately the policy is a suggestion. Writing it down in the policy just tells other people what's going through the minds of the admins. as long as you say "we reserve the right to revoke your cvs account at any time for any reason" you should be fine.
Comment #14
avpadernoI think there is already a page that reports we can revoke a CVS account for any reasons; I have to find where that page is, and to check if it has been changed.
Comment #15
avpadernoIn the TERMS.txt file is clearly reported that:
IMO, creating a module that is spyware is against the point #3.
Users are warned that we can terminate a CVS account for any reason, without to give a warning.
Comment #16
xurizaemonkiamlaluno, I agree that we have established policy for revoking CVS (I believe point 5 in that list also would apply in some locations, but I'm not sure which specific set of laws apply to Drupal contrib).
I also agree with chx that we can't explicitly list all forms of malware without pursuing an endless task of listing every type of filth conceivable.
But this issue was raised because I thought module maintainers, and organisations contributing to Drupal, would benefit from having published guidelines on code which is not welcome in d.o contrib.
I think the warning added to the CVS usage handbook page probably kicks this off just fine. There might be some other things we need to cover but as Michelle and many others have said, we need to keep this simple to avoid chasing new terminology and loopholes.
Yep, common sense is better than explicit rules. Most formal systems need a combination of both (or aim for it, anyway).
I do think that (especially) commercial organisations who want to contribute to Drupal will benefit from us clarifying the sorts of things that are (and aren't) acceptable here.
I don't think that taking a few steps in the direction of expressing this need ever restrict us from hurling any discovered badware into a pit of fiery lava :)
Comment #17
avpadernoI think that point #3 catches all the cases of spyware, malware, etc; the purpose of allowing users to access the CVS repository is not to allow them to grab information from any web site running their module.
If that would not be enough, the first part substantially says that a CVS account can be revoked without warning for any reason.
Comment #18
boris mann commentedMarking this fixed. Feel free to continue to edit CVS Usage Policy handbook page.