taskSavannah Administration - Tasks: task #15919, Submission of Texinfo Support for...

 
 

task #15919: Submission of Texinfo Support for Visual Studio Code

Submitter:  CismonX <cismonx>
Submitted:  Mon 22 Mar 2021 08:35:07 AM UTC
   
 
Should Start On:  Sun 21 Mar 2021 04:00:00 PM UTC Should be Finished on:  Wed 31 Mar 2021 04:00:00 PM 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

Mon 03 May 2021 08:41:25 PM UTC, comment #7: 

Hello,

I fixed the CVS web repository hook last night per sr #110471.

Amin Bandali <bandali>
Site Administrator
Tue 23 Mar 2021 08:56:24 AM UTC, comment #6: 

Hello, Bob!

I've approved another Savannah group; please fix VCS-related things for it (unless they already work automatically for new groups).

Thank you!

Ineiev <ineiev>
Site Administrator
Tue 23 Mar 2021 08:53:49 AM UTC, comment #5: 

Thank you, approving.

Ineiev <ineiev>
Site Administrator
Mon 22 Mar 2021 05:23:30 PM UTC, comment #4: 


> One workaround could be to preprocess the files to strip the comments and get the "real" JSON.


This is a good workaround indeed. I'm doing that for language-configuration.json, so that it is converted to a standard JSON before packaged into binary.

For tsconfig.json, I believe there's no need to do that, because currently TypeScript can recognize it as ``JSON with comments'' (not documented though). Even it breaks one day, it only breaks on the developer's side, as the file is not packaged into the binary release.




> Why not?


It's harmless, but confounding comments with code or data is not good by software design. It's like writing comments in string literals and assign them to unused local variables in C.

However, for package.json (and package-lock.json) I believe there's no other choice, unless NPM guys change their mind, or some future JSON spec officially supports comments.




I've made a revision to the previously uploaded files: https://savannah.nongnu.org/submissions_uploads/vscode-texinfo-v0.2.0-beta-rev1.tar.gz

Now only the PNG image does not contain a copyright notice.

CismonX <cismonx>
Mon 22 Mar 2021 01:07:21 PM UTC, comment #3: 

comment #2:

> The standard JSON, as specified in RFC7159/RFC8259/ECMA-404, does not allow comment blocks. While JSON5, a popular superset of JSON, supports C-style comments. However, the latter it is not standardized, and unsupported by most systems which use JSON.


One workaround could be to preprocess the files to strip the comments and get the "real" JSON.

> A possible workaround is adding extra entries to the JSON and pretend that they are comments, which is also not a very good idea.


Why not?

Ineiev <ineiev>
Site Administrator
Mon 22 Mar 2021 12:48:29 PM UTC, comment #2: 


> I thought JSON files were flexible enough to include a few comments; was I wrong?


That depends on which spec of JSON you're following.

The standard JSON, as specified in RFC7159/RFC8259/ECMA-404, does not allow comment blocks. While JSON5, a popular superset of JSON, supports C-style comments. However, the latter it is not standardized, and unsupported by most systems which use JSON.

For the current project, the Node Package Manager will produce an error if provided a non-standard package.json or package-lock.json. While tsconfig.json and language-configuaration.json do currently allow comments like in JSON5, however, this is not a documented feature of either TypeScript or VSCode, which is better avoided than abused.

A possible workaround is adding extra entries to the JSON and pretend that they are comments, which is also not a very good idea. I never see anyone do something like that in a serious project.

Any suggestion on this problem?

CismonX <cismonx>
Mon 22 Mar 2021 10:09:23 AM UTC, comment #1: 

original submission:

> About copyright & license notice of project files that cannot carry one:
>
> That applies to the JSON files and a PNG image in the project.


I thought JSON files were flexible enough to include a few comments; was I wrong?

Ineiev <ineiev>
Site Administrator
Mon 22 Mar 2021 08:35:07 AM 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: Texinfo Support for Visual Studio Code
  • System Name:  vscode-texinfo
  • Type: non-GNU software and documentation
  • License: GNU General Public License v3 or later





Description:

This project is an extension of Visual Studio Code (a popular source code editor) which aims at improving user experience for editing Texinfo documents.

Major features include:

  • Syntax Highlighting
  • Code Completion
  • HTML Preview
  • Folding & Breadcrumb Navigation
  • Diagnostics



Other Software Required:

``Statically linked'':


By ``statically linked'' we mean that the compiled code (minimized, mangled JavaScript code) from dependencies is merged with the code from this project when generating the binary. Not what we normally called ``statically linked'', but something like that.




Runtime dependencies (as separate programs):



Other Comments:

About Visual Studio Code:

Although the ``Visual Studio Code'' repository in GitHub is free software, the official binary distribution is proprietary, which makes it a bad example for free software.

In support of free software, we do not link to the site which hosts the proprietary binary distribution, as well as the ``Visual Studio Marketplace'' site, which is also propreietary. Instead, we link to their free alternatives: VSCodium (https://github.com/VSCodium/vscodium) and Open VSX Registry (https://open-vsx.org/) when such links are necessary.




About license of dependencies:

It is always troublesome when analyzing the license compatibility of Node.js projects, as the dependency trees tend to be very deep.

By using the ``license-checker'' command line tool (https://github.com/davglass/license-checker) on the project, we got the following licenses:

  • MIT: 232
  • ISC: 21
  • BSD-2-Clause: 12
  • BSD-3-Clause: 9
  • Apache-2.0: 7
  • (MIT OR CC0-1.0): 2
  • CC-BY-4.0: 1
  • 0BSD: 1


These licenses are known to be compatible with GPL, except for the BSD Zero-Clause License. However, as a public domain dedication, it should also be compatible.

We do not list all of them in the project's license notice, only the direct dependencies.




About copyright & license notice of project files that cannot carry one:

That applies to the JSON files and a PNG image in the project.

According to this page (https://www.gnu.org/prep/maintain/html_node/Copyright-Notices.html), we should put them in a README file. However, it is very strange, especially for the average users who do not care about license of trivial files, for such information to appear in a README file, which should be short and informative. So we put them in a separate file, i.e., LICENCE_NOTICE.md.



Tarball URL:

https://savannah.nongnu.org/submissions_uploads/vscode-texinfo-v0.2.0-beta.tar.gz


CismonX <cismonx>

 

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

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by bandali (Posted a comment)
  • -email is unavailable- added by ineiev
  • -email is unavailable- added by ineiev (Posted a comment)
  • -email is unavailable- added by cismonx (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 5 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2021-03-23 ineiev Carbon-Copy- Added rwp
    2021-03-23 ineiev StatusIn Progress Done
        Open/ClosedOpen Closed
    2021-03-22 ineiev StatusNone In Progress
        Assigned toNone ineiev

    Back to the top

    Powered by Savane 3.13-4b48.
    Corresponding source code