taskSavannah Administration - Tasks: task #15792, Submission of libre-sapienza

 
 

task #15792: Submission of libre-sapienza

Submitter:  Andrea Monaco <andreamonaco>
Submitted:  Tue 13 Oct 2020 07:15:41 PM UTC
   
 
Should Start On:  Tue 13 Oct 2020 12:00:00 AM UTC Should be Finished on:  Fri 23 Oct 2020 12:00:00 AM UTC
Category:  Project Approval Priority:  * 5 - Normal
Status:  Done Privacy:  Public
Assigned to:  ineiev Open/Closed:  Closed
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Fri 11 Dec 2020 08:12:04 AM UTC, comment #12: 

Thank you, approving.

Ineiev <ineiev>
Site Administrator
Thu 10 Dec 2020 01:35:55 PM UTC, comment #11: 

I added the last one, do you feel satisfied now?

Andrea Monaco <andreamonaco>
Thu 10 Dec 2020 12:48:40 PM UTC, comment #10: 

Did you attach the right tarball? README still lacks a valid copyright notice.

Ineiev <ineiev>
Site Administrator
Wed 09 Dec 2020 11:47:12 AM UTC, comment #9: 

I did it, thank you

Andrea Monaco <andreamonaco>
Mon 07 Dec 2020 05:15:25 PM UTC, comment #8: 

Please be sure to add valid copyright and license notices to all copyrightable files in your tarball.

Ineiev <ineiev>
Site Administrator
Thu 29 Oct 2020 10:08:08 AM UTC, comment #7: 

comment #6:

> You seem to imply that a client and a server written to interact with each other are part of a single piece of software and thus that they depend on each other.


No, I don't imply that a client and a server are part of a single piece of software; I even don't imply that they form a combined executable. I don't believe they depend on each other because your package could be replaced with another existing client.

I think that your package depends on the server software because it can't do its job without it.

When I run 'aptitude show avr-libc', it says,


...
Depends: gcc-avr (...), binutils-avr (...)
...


Now, binutils are not linked with avr-libc, but the latter still depends on the former.

Ineiev <ineiev>
Site Administrator
Fri 23 Oct 2020 10:21:19 PM UTC, comment #6: 

You seem to imply that a client and a server written to interact with each other are part of a single piece of software and thus that they depend on each other.

I disagree on both points.

They are different pieces of software because it never happens that control is transferred between code in one and code in the other. The two only talk with each other using some protocol or convention.

Plus, the two pieces of software are run in different computers owned by different users or organizations, and none of the two has control on the other.
So an usual problem occurs, which is different from the issue of software freedom: even if my university claimed that the server software is free and published it as such, the client's users would have no way to be sure that the software run in the server computers is really that one piece of free software.

Free software is essentially about having full control on the computation done on your machines, both as a single user and as a society; therefore I don't really think that a free client that talks with a possibly proprietary server is an ethical issue.

Andrea Monaco <andreamonaco>
Fri 23 Oct 2020 07:37:00 AM UTC, comment #5: 

comment #4:

> I don't know much about the Infostud server software, but it probably falls in one of the two following cases:

...

> 2) it is developed by some third party, like a private company; in that case it might be free or proprietary for the university.


Quite right.

> But I think it really doesn't matter.


For the purpose of Savannah hosting, it does.

> My client talks with this server using HTTP requests and JSON responses, which are standard protocols. The server is not a dependency of my software, because my software is cabable of running fully without the server; the server's job is to provide answers and some services to the client using some kind of protocol or convention.


Just running isn't sufficient; it should do its full job.

Without a server, it would be similar to a shell script with the first line like


#! /usr/bin/pcb


I can run the script, but when the shell loads it and doesn't find /usr/bin/pcb, the execution of the script is over.

> For the same reason you wouldn't say that a web browser depends on a web server, and by the way there are free web servers and proprietary web servers.


I wouldn't say that because I can use a typical web browser locally, feeding it with files; if I couldn't, then I would say that it depends on a web server (in which case having free web servers would address the potential issue).

> You wouldn't say either that the Telegram client depends on proprietary software, even though the only Telegram server available is proprietary.


If the server were proprietary, I would; but as far as I understand, it's more likely to fall into the category of private free software.

> There's also another ethical point: if you enroll at this university, right now you are forced to use a proprietary client in order to progress in your academic career, for example to try exams and pay tuitions.
> My client would try to provide some of these features as a free replacement (while some other features would be really difficult to replace for technical reasons). So it would make a substantial difference for the freedom of many people.


Whether your software is ethical or not is a different issue.

Re-impementing a proprietary software system part by part as free  software is good, but Savannah doesn't provide hosting for such projects.

Likewise, any free software package is basically ethical, but Savannah requires more strict placement of copyright and license notices than just necessary to make the package free.

Ineiev <ineiev>
Site Administrator
Thu 22 Oct 2020 08:51:01 PM UTC, comment #4: 

I don't know much about the Infostud server software, but it probably falls in one of the two following cases:

1) it is developed by people working for the university and is used solely by the university; in that case it is "private software" according to this article https://www.gnu.org/philosophy/categories.html, so it is free software in a trivial sense;
2) it is developed by some third party, like a private company; in that case it might be free or proprietary for the university.

But I think it really doesn't matter.
My client talks with this server using HTTP requests and JSON responses, which are standard protocols. The server is not a dependency of my software, because my software is cabable of running fully without the server; the server's job is to provide answers and some services to the client using some kind of protocol or convention.

For the same reason you wouldn't say that a web browser depends on a web server, and by the way there are free web servers and proprietary web servers.
You wouldn't say either that the Telegram client depends on proprietary software, even though the only Telegram server available is proprietary.

There's also another ethical point: if you enroll at this university, right now you are forced to use a proprietary client in order to progress in your academic career, for example to try exams and pay tuitions.
My client would try to provide some of these features as a free replacement (while some other features would be really difficult to replace for technical reasons). So it would make a substantial difference for the freedom of many people.

Andrea Monaco <andreamonaco>
Thu 22 Oct 2020 12:00:48 PM UTC, comment #3: 

comment #2:

> comment #1:
> > I think you missed one dependency in your list, Infostud.
> >
> > Is it free software (as far as I understand, your software can't be used in the free world unless it is)?
>
> Actually, Infostud is the service, so it is implemented as a server on my university's network I think.
> I'm writing a free client for this server, so I don't think it really matters the license of this server, which maybe is not even published software with any license.


Unpublished software may be free or proprietary as well.  Savannah hosting requirements include being able to run without proprietary software.

> My software talks with the Infostud server across the internet of course, and it is written for that specific purpose, but it does not really depends on it,


If your package can't be meaningfully used without Infostud, it effectively depends on its software.

> as it could theoretically talk with other servers with few changes.


Freedom is a practical matter.  Can your package work with any real server running entirely with free software?  If yes, is your package going to support such work?

Ineiev <ineiev>
Site Administrator
Tue 20 Oct 2020 12:48:42 PM UTC, comment #2: 

comment #1:

> I think you missed one dependency in your list, Infostud.
>
> Is it free software (as far as I understand, your software can't be used in the free world unless it is)?


Actually, Infostud is the service, so it is implemented as a server on my university's network I think.
I'm writing a free client for this server, so I don't think it really matters the license of this server, which maybe is not even published software with any license.

My software talks with the Infostud server across the internet of course, and it is written for that specific purpose, but it does not really depends on it, as it could theoretically talk with other servers with few changes.

Andrea Monaco <andreamonaco>
Tue 20 Oct 2020 10:05:55 AM UTC, comment #1: 

I think you missed one dependency in your list, Infostud.

Is it free software (as far as I understand, your software can't be used in the free world unless it is)?

Ineiev <ineiev>
Site Administrator
Tue 13 Oct 2020 07:15:41 PM UTC, original submission:  

A new project has been registered at Savannah
This project account will remain inactive until a site admin approves
or discards the registration.


Registration Administration


While this item will be useful to track the registration process,
approving or discarding the registration must be done using the specific Group Administration page, accessible only to site administrators,
effectively logged as site administrators (superuser):



Registration Details


  • Name: libre-sapienza
  • System Name:  libre-sapienza
  • Type: non-GNU software and documentation
  • License: GNU General Public License v3 or later





Description:

Sapienza University at Rome, my university, employs a system called Infostud to let students manage their exams, taxes, registration etc.
There are two ways to access this system: a proprietary app for smartphones and a web interface which uses proprietary Javascript code.
I wrote a free client in C using libcurl (for network operations) and libjansson (for parsing JSON data).
You can interact with Infostud servers with HTTP request and JSON responses; I figured out the protocol by looking at another free library I found on the net, but the code is mine.
My programs lets you see exams you can register for, completed exams, personal data, tuition data. It is still incomplete but I'm working on it.
It compiles and runs on GNU+Linux using autotools. It should likewise compile and run on Windows and MacOS because I used portable libraries.


Other Software Required:

libcurl, Curl license (very similar to X11 license), https://curl.haxx.se/libcurl/

libjansson, MIT license, https://digip.org/jansson/


Tarball URL:

https://savannah.nongnu.org/submissions_uploads/libre-sapienza-0.1.tar.gz


Andrea Monaco <andreamonaco>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

Attached Files
file #50432:  libre-sapienza-0.1.tar.gz added by andreamonaco (108KiB - application/gzip - added last copyright notice)
file #50424:  libre-sapienza-0.1.tar.gz added by andreamonaco (108KiB - application/gzip - I added copyright notices to the few files that did not have it)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by ineiev (Posted a comment)
  • -email is unavailable- added by andreamonaco (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 6 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2020-12-11 ineiev StatusIn Progress Done
        Open/ClosedOpen Closed
    2020-12-10 andreamonaco Attached File- Added libre-sapienza-0.1.tar.gz, #50432
    2020-12-09 andreamonaco Attached File- Added libre-sapienza-0.1.tar.gz, #50424
    2020-10-20 ineiev StatusNone In Progress
        Assigned toNone ineiev

    Back to the top

    Powered by Savane 3.13-d3ae.
    Corresponding source code