Requesting permission to include FAH as Gentoo Linux package

Moderators: Site Moderators, FAHC Science Team

Post Reply
axs
Posts: 13
Joined: Thu Sep 20, 2012 5:28 pm

Requesting permission to include FAH as Gentoo Linux package

Post by axs »

(Originally posted at the end of a 9-month old thread elsewhere)
bruce wrote:FAH doesn't officially support gentoo. V7 has two Linux installers, one for Debian / Mint / Ubuntu and the other for RedHat / CentOS / Fedora. There may be knowledgable Linux folks who will figure out how to tweak one of those installers to work on gentoo but since everything is still in beta, the install scripts are probably moving targets.
An ebuild (installer script) for FAH v6 is already in the Gentoo Portage tree. It would be nice, and technically speaking, very easy to provide an update to allow installation of FAH v7 (or whatever the current release version is) for the convenience of Gentoo Linux users -- the RPM or tar.bz2 images released for Centos can easily be used for this purpose. Unfortunately, it seems that the EULA changed between v6 and v7, specifically:

"You may only use unmodified versions of Folding@home obtained through authorized distributors to connect to the Folding@Home servers. Use of other software to connect to the Folding@home servers is strictly prohibited. This prohibition includes 3rd party installers which download directly from Stanford web sites, unless written permission is granted from Stanford University."

..and "portage", the default Gentoo package manager, would definitely fall within the definition of "3rd party installer" above.

Would it be possible for Gentoo to obtain the written permission mentioned in the EULA so that gentoo developers can package and provide FAH v7 and above to our users? Perhaps what would suffice for this is an EULA document verbatum of the current "License" on the website, with a permissions statement appended to the bottom allowing for installation via the Gentoo Portage Tree ?
kasson
Pande Group Member
Posts: 1459
Joined: Thu Nov 29, 2007 9:37 pm

Re: Requesting permission to include FAH as Gentoo Linux pac

Post by kasson »

Thank you. It is correct that the EULA as it currently stands prohibits this. We are discussing the underlying issues and will get back to you.
axs
Posts: 13
Joined: Thu Sep 20, 2012 5:28 pm

Re: Requesting permission to include FAH as Gentoo Linux pac

Post by axs »

6 months, any word?

As it is seeming to be too cumbersome for Gentoo Linux to obtain written permission to include a "third party install script" and therefore include FAH newer than version 6 in its repositories, maybe there would be a way for Gentoo Developers to contribute the ebuild (aka "install script") to FAH so that what we use in the repository isn't considered "third party" anymore?
bruce
Posts: 20824
Joined: Thu Nov 29, 2007 10:13 pm
Location: So. Cal.

Re: Requesting permission to include FAH as Gentoo Linux pac

Post by bruce »

Actually, the EULA did not change between V6 and V7. The Stanford EULA has always had the word saying "You may only use unmodified versions of Folding@home obtained through authorized distributors to connect to the Folding@Home servers. Use of other software to connect to the Folding@home servers is strictly prohibited. This prohibition includes 3rd party installers which download directly from Stanford web sites, unless written permission is granted from Stanford University." back as far as at least V3. I'm pretty sure that the only source for clients other than the ones downloaded from *.stanford.edu were a client for the Sony Playstation3 and one that was built into a Google desktop. Both were later discontinued.

I can't say whether Stanford will ever authorize downloads from other sites ... but in my experience, it's highly unlikely.

There have been installation scripts written and distributed by 3rd parties but they have to be built around a get that obtains the tarball (or whatever) from the stanford site. Hopefully they'll maintain the same filename when a new version is released, but that has not always been true.

We do have a forum where you can discuss the pros and cons of whatever someone might consider doing to make the installation easy in Gentoo: viewforum.php?f=89
We also have a 3rd party site where you can publish whatever you create: viewforum.php?f=14
axs
Posts: 13
Joined: Thu Sep 20, 2012 5:28 pm

Re: Requesting permission to include FAH as Gentoo Linux pac

Post by axs »

The license that we have with v6 (which is an FAH license) doesn't match this, and our legal group is _very_ strict on ensuring license compliance with upstreams... The license we have has (c) 2001-2004 at the top, and it states "You may only use unmodified versions of Folding@home obtained through authorized distributors to connect to the Folding@Home servers. Use of other software to connect to the Folding@home servers is strictly prohibited." but does not state "This prohibition includes 3rd party installers which download directly from Stanford web sites, unless written permission is granted from Stanford University.".. It does however state "Distribution of this software is prohibited. It may only be obtained by downloading from Stanford's web site (http://folding.stanford.edu and pages linked therein)." Given the file is old I think there might be the possibility we are not currently complying with the v6 EULA and so I'm investigating.


Now, just to clarify -- Gentoo Linux does not need authorization to download files from other sites -- we often restrict mirroring so that each Gentoo user's system downloads the files directly from upstream. In fact, we can also force users to download the files by hand (ie, not through the package manager) if required (we do this for oracle-java, for instance, as they require acceptance of an EULA before users can download the file). The part that we need authorization for, is package manager control of file installation -- extraction of files from the downloaded tarball/deb/rpm/whatever and placement into the live filesystem (and similarly, uninstallation). I believe the "...obtained through authorized distributors..." language might be a little vague here as to whether or not Gentoo would fall into that if we supplied the installer script in our official package repository.

Regarding the 3rd-party install script that are built around a "get", is this "get" part of the script or something the end user does on their own, externally? Reading the EULA it would seem to state that this is in fact not permitted, but if I am wrong I would certainly appreciate the clarification.

So, to rephrase my request, what I would like ideally is to have permission granted to Gentoo Linux so the package in Portage (the official Gentoo Linux repository) will have an install script that can fetch the official distfile directly from the stanford server(s) at best, or install an end-user-maually-downloaded distfile at worst, and by doing so will not be considered an "unauthorized distributor". Is that possible?
jcoffland
Site Admin
Posts: 1018
Joined: Fri Oct 10, 2008 6:42 pm
Location: Helsinki, Finland
Contact:

Re: Requesting permission to include FAH as Gentoo Linux pac

Post by jcoffland »

The EULA does preclude installing the v7 Folding@home client via Gentoo's portage package manager with out written permission. If someone were to create such a package for portage and submit it to us I believe permission would likely be granted.
Cauldron Development LLC
http://cauldrondevelopment.com/
axs
Posts: 13
Joined: Thu Sep 20, 2012 5:28 pm

Re: Requesting permission to include FAH as Gentoo Linux pac

Post by axs »

jcoffland wrote:The EULA does preclude installing the v7 Folding@home client via Gentoo's portage package manager with out written permission. If someone were to create such a package for portage and submit it to us I believe permission would likely be granted.
Excellent. Please accept the following ebuild (package manager script) for review:

http://sources.gentoo.org/cgi-bin/viewv ... vision=1.1

Also for reference - the portage tree needs copies of licenses and EULAs. This one is filed in a group where each user has to explicitly agree to it before being able to emerge (install) the package.
http://sources.gentoo.org/cgi-bin/viewv ... -EULA-2009

Here are explanations and annotations of a few parts of the ebuild:
-----
${PV} = package version, in this case, 7.3.6 -- I will update this as FAH releases new versions.
-----
MY_BASEURI="https://fah.stanford.edu/file-releases/ ... /fahclient"
MY_64B_URI="${MY_BASEURI}/centos-5.3-64bit/v$(get_version_component_range 1-2)/fahclient_${PV}-64bit-release.tar.bz2"
MY_32B_URI="${MY_BASEURI}/centos-5.5-32bit/v$(get_version_component_range 1-2)/fahclient_${PV}-32bit-release.tar.bz2"
[...]
SRC_URI="x86? ( ${MY_32B_URI} )
amd64? ( ${MY_64B_URI} )"

The URLs to give 'wget' on each computer that decides to emerge the package. we have both x86 and x86_64 users so most of this complication is just so that the correct file is downloaded for the correct platform.
-----
RESTRICT="fetch bindist strip"

1 - do not mirror in any way the SRC_URIs, nor even allow automatic downloading. When set RESTRICT="fetch", users have to download the file themselves before the gentoo package manager can do anything. Setting this allows the ebuild as-is to be in conformance with the current EULA without any exception provided. With permission, though, I would like to change this to RESTRICT="mirror", so that when users do want to install FAH their systems will call wget automatically to download the correct file according to SRC_URI (a *much* more convenient end-user experience).

2- do not allow binary redistribution -- flags errors on some binary packaging tools that gentoo has.

3- do not run strip on binary files -- since strip modifies the files (even though it doesn't change behaviour), I have restricted its use so that binary files are identical to what is provided in the tarballs.
-----
src_install() { ... }

This is the portion that actually handles positioning files in the places they will later be installed to the live filesystem. Note this includes positioning files in the tarball as well as the /etc/init script (and its related config file) that was written by gentoo developers for gentoo end-user convenience.

-----
The rest has to do with either setting up the datafile / working directory area (${I}), providing useful messages to end-users, or cleanup during uninstallation.
-----

If there are any questions or clarifications please let me know and I will try my best. Off-forum, I can be reached via axs@gentoo.org
jcoffland
Site Admin
Posts: 1018
Joined: Fri Oct 10, 2008 6:42 pm
Location: Helsinki, Finland
Contact:

Re: Requesting permission to include FAH as Gentoo Linux pac

Post by jcoffland »

Looks good. Please include the following notice with the license agreement.
"Special permission is hereby granted to the Gentoo project to provide an automated installer package which downloads and installs the Folding@home client software. Permission is also granted for future Gentoo installer packages on the condition that they continue to adhere to all of the terms of the accompanying Folding@home license agreements and display this notice."
-- Vijay S. Pande, Stanford University
Thank you for doing this.
Cauldron Development LLC
http://cauldrondevelopment.com/
axs
Posts: 13
Joined: Thu Sep 20, 2012 5:28 pm

Re: Requesting permission to include FAH as Gentoo Linux pac

Post by axs »

Thank you for the special permission!! The Gentoo Linux community sincerely appreciates this.
Post Reply