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

dave reid’s picture

I want to know which module it is so it can be handled in public ASAP.

michelle’s picture

I'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

dave reid’s picture

Ok I know which module it is and I'm not really surprised to learn its a repeat offender.

dave reid’s picture

Spyware should need no policy - it is just unacceptable no matter what

xurizaemon’s picture

boris mann’s picture

Dave -- 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.

gerhard killesreiter’s picture

If 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.

WorldFallz’s picture

I 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.

chx’s picture

Status: Active » Closed (won't fix)

I 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.

I shall not today attempt further to define the kinds of material I understand to be embraced within that shorthand description; and perhaps I could never succeed in intelligibly doing so. But I know it when I see it

WorldFallz’s picture

I 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.

avpaderno’s picture

I 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.

michelle’s picture

My 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

dmitrig01’s picture

The 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.

avpaderno’s picture

I 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.

avpaderno’s picture

In the TERMS.txt file is clearly reported that:

TERMINATION

A user's account may be terminated without warning for reasons that include,
but are not limited to:
1.) violation of these TOS;
2.) abuse of site resources or attempt to gain unauthorized entry to the site
or site resources;
3.) use of service in a manner inconsistent with the purpose;
4.) a user's request for such termination;
5.) requirement of applicable law, regulation, court or governing agency order.

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.

xurizaemon’s picture

kiamlaluno, 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 :)

avpaderno’s picture

I 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.

boris mann’s picture

Status: Closed (won't fix) » Fixed

Marking this fixed. Feel free to continue to edit CVS Usage Policy handbook page.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.