From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Including ESS with Emacs Date: Sun, 25 Nov 2018 11:45:49 -0500 Message-ID: References: <875zwlfeme.fsf@gmail.com> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1543165448 1004 195.159.176.226 (25 Nov 2018 17:04:08 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sun, 25 Nov 2018 17:04:08 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Nov 25 18:04:04 2018 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gQxpD-00005w-FD for ged-emacs-devel@m.gmane.org; Sun, 25 Nov 2018 18:04:03 +0100 Original-Received: from localhost ([::1]:60552 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gQxrK-0002qE-4Z for ged-emacs-devel@m.gmane.org; Sun, 25 Nov 2018 12:06:14 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:60851) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gQxjF-0003qU-1I for emacs-devel@gnu.org; Sun, 25 Nov 2018 11:57:54 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gQxXl-0006ka-3p for emacs-devel@gnu.org; Sun, 25 Nov 2018 11:46:04 -0500 Original-Received: from [195.159.176.226] (port=51264 helo=blaine.gmane.org) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gQxXk-0006k5-TU for emacs-devel@gnu.org; Sun, 25 Nov 2018 11:46:01 -0500 Original-Received: from list by blaine.gmane.org with local (Exim 4.84_2) (envelope-from ) id 1gQxVb-00070e-Ef for emacs-devel@gnu.org; Sun, 25 Nov 2018 17:43:47 +0100 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 55 Original-X-Complaints-To: usenet@blaine.gmane.org Cancel-Lock: sha1:hBgYj/jq/LQIKLg2Jlh/BK3znjw= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 195.159.176.226 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:231347 Archived-At: > We'd like to contribute ESS to the FSF so that it can become part of > Emacs. Yay! [ I think it'd be best to include it into GNU ELPA rather than into Emacs, tho. ] > My understanding is that the copyright assignment process might > be the most difficult part. ESS is a very (30ish years) old project, and > so has many contributors, some of whom may not be able to sign the > paperwork. > > Is there a process for figuring out who exactly needs to sign the FSF > copyright paperwork? Is it just authors of the current code according to > git-blame, or everyone who's contributed 15 lines of code, or something > else? It should be all authors who contributed more than 15 lines-or-so of the current code. `git blame` can be a good starting point, but note that it can be misleading: someone who just adds a `save-excursion` and reindents all the code will cause git-blame to hide the contributors of all the reindented code. The way I went about it in the past is to collect all the known authors. Then I remove those who already have signed paperwork, and those who contributed less than 15 lines of code (by looking at the corresponding commits). Then I try to contact all those that remain. This often involves a fair bit of work and time, to try and find current email addresses, to get an answer, to sign the paperwork, to get the FSF to process the documents, ... After that, there are typically some authors still pending, either because they refuse to sign, or because you can't find a valid email, or because they don't reply. At that point, you dig into the code in more detail, to try and see which part of their contribution remains in the current code and whether that can fall under the "15-lines worth of code" (where a renaming of a variable counts as 1 line even if it touches 100 lines). That often lets you remove a few more from the pending list. Finally, there will probably be a few hold outs who contributed a non-trivial amount of code which is still present but whose copyright paperwork we can't get. At that point, we have to take a yet deeper look at what to do with it: rewrite the code, drop it altogether, or move it to a separate package. Note that if at the last stage there is still a major contributor, it might render the whole effort pointless. So it's best to start with the most prolific contributors. Stefan