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

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

[task #16050] Submission of the Quirk browser


From: zamfofex
Subject: [task #16050] Submission of the Quirk browser
Date: Wed, 29 Sep 2021 00:14:07 -0400 (EDT)
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0

URL:
  <https://savannah.nongnu.org/task/?16050>

                 Summary: Submission of the Quirk browser
                 Project: Savannah Administration
            Submitted by: zamfofex
            Submitted on: Wed 29 Sep 2021 04:14:06 AM UTC
         Should Start On: Wed 29 Sep 2021 12:00:00 AM UTC
   Should be Finished on: Sat 09 Oct 2021 12:00:00 AM UTC
                Category: Project Approval
                Priority: 5 - Normal
                  Status: None
                 Privacy: Public
        Percent Complete: 0%
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
                  Effort: 0.00

    _______________________________________________________

Details:

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
<https://savannah.nongnu.org/siteadmin/groupedit.php?group_id=12196> page*,
accessible only to site administrators,
effectively *logged as site administrators* (superuser):

* Group Administration
<https://savannah.nongnu.org/siteadmin/groupedit.php?group_id=12196>


= Registration Details =

* Name: *the Quirk browser*
* System Name:  *quirk*
* Type: non-GNU software and documentation
* License: GNU General Public License v3 or later (The ‘layout.txt’ file
is meant to be available under the FAL/LAL (“Free Art License”) rather
than the GPL. See: https://artlibre.org

It has been under this license since I first wrote it, and I’m unsure about
whether it would make sense to change it. Thoughts about what to do would be
appreciated!

- - -

JSDOM and other dependencies from NPM are not released under a GPL-compatible
license, most are released under MIT and other similar permissive licenses.

The build process for the project discourages people from distributing those
dependencies alongside the project binaries by creating a shared library for
them, rather than linking them statically with the executable.)

----

== Description: ==
Quirk is a browser based on JSDOM.

The hope is to be able to leverage existent work put into JSDOM to create a
full working browser. The biggest missing part being rendering.

JSDOM is an implementation of the DOM (which are the APIs provided to
JavaScript by browsers), itself written in JavaScript.

JSDOM was created with Node in mind, but Quirk uses QuickJS as its JavaScript
engine. Thus, Quirk also needs to provide the API of Node libraries for JSDOM
to work.

The Node APIs are provided using a mixture of: (1) existent NPM libraries, and
(2) code written specifically for Quirk, to interface with QuickJS and cURL.

Quirk is written in a mixture of C and JavaScript. The parts written in
JavaScript are reduced to interfacing JavaScript with C. I believe it makes
sense to write APIs targetting JavaScript usage in JavaScript itself, rather
than in C.

Currently, Quirk only has a simple TUI display, but the hope is to also
provide a GUI using Cairo at some point.

Some brief discussion about the current status of Quirk can be found in its
readme in the attached tarball.


== Other Software Required: ==
- cURL (uses its own license, derived from MIT)
  https://curl.se
- QuickJS (MIT license)
  https://bellard.org/quickjs/
- Node.js (MIT license)
  https://nodejs.org
- NPM (Artistic License 2.0)
  https://npmjs.com
- JSPM generator (MIT license)
  https://jspm.org
  https://github.com/jspm/generator

Node.js, NPM, and the JSPM generator are build-only dependencies, used to
fetch NPM dependencies through JSPM. At runtime, Quirk uses QuickJS to run
those JavaScript dependencies.

There are other dependencies too. Those include indirect dependencies of
JSDOM, and also other NPM libraries used to allow JSDOM to work with QuickJS.


== Other Comments: ==
The license header in each files was shortened for terseness. I believe that
they are sufficient, but if this is unacceptable, I wouldn’t mind including
the longer versions.

I prefer to avoid using my real name online, so the copyright notices use my
pseudonym instead (“zamfofex”). I don’t mind mentioning my full real
name in the readme if it is deemed necessary, but I’d rather avoid including
it in each source file if possible.

The default URL used when no URL is passed to the command is
https://cricket.piapiac.org/software/ which is my friend’s webpage.


== Tarball URL: ==
https://zamfofex.neocities.org/quirk.tar.gz






    _______________________________________________________

Reply to this item at:

  <https://savannah.nongnu.org/task/?16050>

_______________________________________________
  Message sent via Savannah
  https://savannah.nongnu.org/




reply via email to

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