savannah-hackers-public
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Savannah-hackers-public] requirements of a new project in GNU Savan


From: Assaf Gordon
Subject: Re: [Savannah-hackers-public] requirements of a new project in GNU Savannah
Date: Wed, 13 Aug 2014 16:14:21 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.0

Hello,

Thank you for the input.

On 08/13/2014 01:30 PM, Ineiev wrote:

Just a datapoint:

I think freedom is the most important quality; if a package is free,
it's generally good [0].

In particular, my only real package submission [1] may have been (barely)
functional, but it wasn't very simple to build (it needed a cross-compiler),
and even harder to test (it run on a custom board). I'm not sure whether
it would pass the prospective criterion, but there is no doubt it was
very important for me, personally.

[0] 
https://www.gnu.org/philosophy/when_free_software_isnt_practically_better.html
[1] https://savannah.gnu.org/task/index.php?5161

The thread at [1] was informative and helpful for the project I'm reviewing now.

Now,
I agree that being Free-Software is the upmost important quality/requirement of 
a submitted project.
That is a given.

And I understand that in the past,
A being "functional" was not a strict requirement.

But if I look at the state of things today,
for barely functional or non-functional projects, there are many other hosting 
services out there.
Also, I think it is reasonable today to expect/require certain minimum 
useability from new projects.

GNU Savannah's resources are scarce - why burden it with projects that haven't 
exhibited even the minimal amount of functionality?
There are many stale CVS projects on Savannah (I'd guess more than a thousand).
They no longer contribute anything to GNU Savannah as a concept or a community.

What I'd like to require from new projects, and I (humbly) think it is very 
reasonable these days,
is that a new project must be able to be build and work on one of the 
"sanctioned" GNU systems (Trisquel/gNewSense),
and part of the submission form is to put the exact packages and commands 
required to build the project.

I think this will lead to several things:
1. It will "raise the bar" on submitted projects. Not that they are necessarily 
"better" (for what ever definition of "better),
but it will force the developers to go through several verification steps, 
especially verifying (actually, almost proving) that the project can be built 
using Free Software.

2. It will make evaluation easier.
If I can follow the build instructions on gNewSense and build the project, then 
by definition, the project's requirements are clear, and are Free-Software.

3. It will filter out "one shot" projects.
There are several projects on GNU Savannah that have just one or two commits, 
then never been touched again.
It's easy to submit a project when the only requirement is a proper copyright 
statement in a CPP file.
If a developer is willing to invest time to properly package it and ensure it 
builds on Free-Software system, that it hints (but not guarantees, of course) 
that the developer is more serious about his project.

4. It will allow improving the "How To Get Your Project Approved Quickly" wiki 
page.
Instead of general verbose instructions "Make sure your project runs primarily on a completely 
free OS" and " to make the approval process quicker, give us URLs to your dependencies, 
ideally with direct links to their licenses",
we could write: "list the commands required to build to project on gNewSense or 
Trisquel".
No more need for a list of URLs for the evaluator to visit and verify.

===

I'm aware this will not cover all project submissions (e.g. for embedded 
projects and other edge-cases), but it will cover a lot of the projects that 
are submitted.

An example from a recent submission:
https://savannah.gnu.org/task/?13269
This is a SCADA software, so obviously not something I can easily test.

It references a project (pvbrowser) which is Free-Software, but not available 
as a package in gNewSense/Trisquel.

But if instead of listing requirements like this:
   pvbrowser + gpl2 + http://www.pvbrowser.org
   qt4 + gpl3 & lgpl2.1 + http://qt-project.org/
   sqlite3 + public domain + http://www.sqlite.org

The submitter would list them list this:
   # Standard gNewSense packages
   sudo apt-get install sqlite3-dev qt4-dev
   # Non-standard package PVBROWSER, GPL License:
   # http://pvbrowser.de/pvbrowser/index.php?lang=en&menu=5
   wget 
http://download.opensuse.org/repositories/home:/pvbrowser/xUbuntu_13.04/amd64/pvbrowser-devel_4.7.6-4.1_amd64.deb
   sudo dpkg -i pvbrowser-devel_4.7.6-4.1_amd64.deb

Then evaluating it would be much faster.

===

I'm also thinking of changing the Wiki to contain specific examples of how to 
search for copyright text, so that more work would fall on the submitter and 
less work on the evaluator.

Regards,
 - Assaf













reply via email to

[Prev in Thread] Current Thread [Next in Thread]