Here is my corresponding GitHub issue to track the progress, discussions or changes/commits made in regards to this proposal: https://github.com/genodelabs/genode/issues/5303
I propose that Genode adopts Markdown instead of GOSH.
Markdown has become the standard format for nearly all Open Source projects and Git hosting sites. GitHub, GitLab, Gitea and Codeberg/Forgejo all use Markdown, none support GOSH format.
I can read Markdown in GitHub repositories using my Android phone with the GitHub app. I cannot read GOSH files on a phone or tablet. This makes it harder to read correctly rendered GOSH files compared to Markdown. If I want to read a rendered GOSH document(not in plain text), I must clone the Genode & GOSH repo, install GOSH & TCL/TK, export the GOSH files to HTML or LaTeX from the command line, then view in PDF or HTML viewer. This is not simple compared to Markdown which is rendered natively on almost any device.
FOSS is a collaborative community. To make an open source project successful, It is important to use common formats and tools so the community can collaborate easily. The higher the barrier to entry, the less likely it is for people to bother contributing.
Switching to Markdown does not lose the benefits of LaTeX. The Git hosting sites as listed above, support inline LaTeX rendering within Markdown documents for mathematical expressions and diagrams. Markdown is used on these Git hosting sites for writing documentation, wiki, comments, issues, README, blogs and web pages etc.
Having an appealing looking GitHub repository is important as it could be the first time a user encounters the project, thus setting their first impressions. If using GOSH, which isn't rendered correctly, they may not decide to look further into the project as it looks unappealing. Most users won't try to learn or use GOSH because it is not a portable skill or format outside of the Genode projects.
I would be happy to contribute by working on converting GOSH files to Markdown format. I have already converted all 9 README files of the 9 public Genodelabs GitHub repositories to Markdown. I could continue doing this. However I don't want to waste my time doing something that wouldn't be accepted by the Genode project.
There is an automatic way to convert all the GOSH documents to Markdown.
First, export GOSH documents to HTML or LaTeX. Then use a HTML or LaTeX to Markdown converter, then it will be automatically written to native Markdown. Thus saving manual labour.
These tools can be used to convert from HTML to Markdown format automatically:
https://github.com/jgm/pandoc (This one can convert from LaTeX or HTML to Markdown) https://github.com/showdownjs/showdown https://github.com/mixmark-io/turndown
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
I first saw the discussion on this I thought "oh no, hopefully someone doesn't try to conform us into MD." There is a taller stack of deeper problems with the reasoning of the humans who do what you did, but I will restrain from writing an unpragmatic response, focusing on concrete details.
You say:
"I propose that Genode adopts Markdown instead of GOSH.
Markdown has become the standard format for nearly all Open Source projects and Git hosting sites. GitHub, GitLab, Gitea and Codeberg/Forgejo all use Markdown, none support GOSH format.
I can read Markdown in GitHub repositories using my Android phone with the GitHub app. I cannot read GOSH files on a phone or tablet. This makes it harder to read correctly rendered GOSH files compared to Markdown. If I want to read a rendered GOSH document(not in plain text), I must clone the Genode & GOSH repo, install GOSH & TCL/TK, export the GOSH files to HTML or LaTeX from the command line, then view in PDF or HTML viewer. This is not simple compared to Markdown which is rendered natively on almost any device."
https://github.com/nfeske/gosh says:
"GOSH is a tool for converting plain ASCII text to LaTeX and other document formats. Its main design criteria was to use a syntax that is perfectly readable as plain ASCII text and the support of different target formats. The source files of GOSH have a very simple syntax that is similar to the usenet style. Everyone, who ever wrote a mail using an plain ASCII editor will be able to write GOSH texts. ; Actually, the file you are reading right now is a GOSH text file. GOSH supports multiple target formats by different backends, which are available as separate files. By now, there exists the built-in LaTeX backend, a simple HTML backend and a man-page backend."
The Gosh **format** is more universal than markdown, because one can read it on any device that displays txt-file. Lack of rendering does not prevent one from reading the files. Therefore your premise is certainly unsound.
But is format the real point of Gosh? In my view structurally Gosh sits or should sit below any document file format. There are no .gosh files, only a syntax for txt-files, and that syntax has the purpose of (1) being readable universally (2) acting as a "middle-man" of the conversation job.
The second one is a good idea: for new formats, the problem will always be how to convert this to Gosh (1 problem) instead of how to convert this to others (~ n problems). Also, it improves security, because we can know / can know that conversions should not be able to do anything more than what Gosh can.
Thus, why not add (bi-directional) support for markdown to Gosh? I feel like you could then propose this again for the GitHub.
On Wednesday, July 24th, 2024 at 00:47, Jack Curran genode@axioms.info wrote:
Here is my corresponding GitHub issue to track the progress, discussions or changes/commits made in regards to this proposal: https://github.com/genodelabs/genode/issues/5303
I propose that Genode adopts Markdown instead of GOSH.
Markdown has become the standard format for nearly all Open Source projects and Git hosting sites. GitHub, GitLab, Gitea and Codeberg/Forgejo all use Markdown, none support GOSH format.
I can read Markdown in GitHub repositories using my Android phone with the GitHub app. I cannot read GOSH files on a phone or tablet. This makes it harder to read correctly rendered GOSH files compared to Markdown. If I want to read a rendered GOSH document(not in plain text), I must clone the Genode & GOSH repo, install GOSH & TCL/TK, export the GOSH files to HTML or LaTeX from the command line, then view in PDF or HTML viewer. This is not simple compared to Markdown which is rendered natively on almost any device.
FOSS is a collaborative community. To make an open source project successful, It is important to use common formats and tools so the community can collaborate easily. The higher the barrier to entry, the less likely it is for people to bother contributing.
Switching to Markdown does not lose the benefits of LaTeX. The Git hosting sites as listed above, support inline LaTeX rendering within Markdown documents for mathematical expressions and diagrams. Markdown is used on these Git hosting sites for writing documentation, wiki, comments, issues, README, blogs and web pages etc.
Having an appealing looking GitHub repository is important as it could be the first time a user encounters the project, thus setting their first impressions. If using GOSH, which isn't rendered correctly, they may not decide to look further into the project as it looks unappealing. Most users won't try to learn or use GOSH because it is not a portable skill or format outside of the Genode projects.
I would be happy to contribute by working on converting GOSH files to Markdown format. I have already converted all 9 README files of the 9 public Genodelabs GitHub repositories to Markdown. I could continue doing this. However I don't want to waste my time doing something that wouldn't be accepted by the Genode project.
There is an automatic way to convert all the GOSH documents to Markdown.
First, export GOSH documents to HTML or LaTeX. Then use a HTML or LaTeX to Markdown converter, then it will be automatically written to native Markdown. Thus saving manual labour.
These tools can be used to convert from HTML to Markdown format automatically:
https://github.com/jgm/pandoc (This one can convert from LaTeX or HTML to Markdown) https://github.com/showdownjs/showdown https://github.com/mixmark-io/turndown _______________________________________________ users mailing list -- users@lists.genode.org To unsubscribe send an email to users-leave@lists.genode.org Archived at https://lists.genode.org/mailman3/hyperkitty/list/users@lists.genode.org/mes...
I feel like this misses the point somewhat- Markdown is also aiming for the 'readable as a text file' and really is a very similar technology to Gosh. Also, whether they are .gosh files, or text files that happen to implement gosh doesn't matter much, just as .md doesn't matter really (unless the viewer has special case rendering for one or the other)
Imo its really, is it worth the hassle to switch from something already known and liked (gosh) to the very similar competing format (markdown) to gain compatibility with the surrounding ecosystem.
I can't say for the dev team if its worth it for them either way, but I think it's misguided to say that gosh is inherently more powerful or something.
On Wed, Jul 24, 2024, at 9:19 AM, Jana Hirsch via users wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
I first saw the discussion on this I thought "oh no, hopefully someone doesn't try to conform us into MD." There is a taller stack of deeper problems with the reasoning of the humans who do what you did, but I will restrain from writing an unpragmatic response, focusing on concrete details.
You say:
"I propose that Genode adopts Markdown instead of GOSH.
Markdown has become the standard format for nearly all Open Source projects and Git hosting sites. GitHub, GitLab, Gitea and Codeberg/Forgejo all use Markdown, none support GOSH format.
I can read Markdown in GitHub repositories using my Android phone with the GitHub app. I cannot read GOSH files on a phone or tablet. This makes it harder to read correctly rendered GOSH files compared to Markdown. If I want to read a rendered GOSH document(not in plain text), I must clone the Genode & GOSH repo, install GOSH & TCL/TK, export the GOSH files to HTML or LaTeX from the command line, then view in PDF or HTML viewer. This is not simple compared to Markdown which is rendered natively on almost any device."
https://github.com/nfeske/gosh says:
"GOSH is a tool for converting plain ASCII text to LaTeX and other document formats. Its main design criteria was to use a syntax that is perfectly readable as plain ASCII text and the support of different target formats. The source files of GOSH have a very simple syntax that is similar to the usenet style. Everyone, who ever wrote a mail using an plain ASCII editor will be able to write GOSH texts. ; Actually, the file you are reading right now is a GOSH text file. GOSH supports multiple target formats by different backends, which are available as separate files. By now, there exists the built-in LaTeX backend, a simple HTML backend and a man-page backend."
The Gosh **format** is more universal than markdown, because one can read it on any device that displays txt-file. Lack of rendering does not prevent one from reading the files. Therefore your premise is certainly unsound.
But is format the real point of Gosh? In my view structurally Gosh sits or should sit below any document file format. There are no .gosh files, only a syntax for txt-files, and that syntax has the purpose of (1) being readable universally (2) acting as a "middle-man" of the conversation job.
The second one is a good idea: for new formats, the problem will always be how to convert this to Gosh (1 problem) instead of how to convert this to others (~ n problems). Also, it improves security, because we can know / can know that conversions should not be able to do anything more than what Gosh can.
Thus, why not add (bi-directional) support for markdown to Gosh? I feel like you could then propose this again for the GitHub.
On Wednesday, July 24th, 2024 at 00:47, Jack Curran genode@axioms.info wrote:
Here is my corresponding GitHub issue to track the progress, discussions or changes/commits made in regards to this proposal: https://github.com/genodelabs/genode/issues/5303
I propose that Genode adopts Markdown instead of GOSH.
Markdown has become the standard format for nearly all Open Source projects and Git hosting sites. GitHub, GitLab, Gitea and Codeberg/Forgejo all use Markdown, none support GOSH format.
I can read Markdown in GitHub repositories using my Android phone with the GitHub app. I cannot read GOSH files on a phone or tablet. This makes it harder to read correctly rendered GOSH files compared to Markdown. If I want to read a rendered GOSH document(not in plain text), I must clone the Genode & GOSH repo, install GOSH & TCL/TK, export the GOSH files to HTML or LaTeX from the command line, then view in PDF or HTML viewer. This is not simple compared to Markdown which is rendered natively on almost any device.
FOSS is a collaborative community. To make an open source project successful, It is important to use common formats and tools so the community can collaborate easily. The higher the barrier to entry, the less likely it is for people to bother contributing.
Switching to Markdown does not lose the benefits of LaTeX. The Git hosting sites as listed above, support inline LaTeX rendering within Markdown documents for mathematical expressions and diagrams. Markdown is used on these Git hosting sites for writing documentation, wiki, comments, issues, README, blogs and web pages etc.
Having an appealing looking GitHub repository is important as it could be the first time a user encounters the project, thus setting their first impressions. If using GOSH, which isn't rendered correctly, they may not decide to look further into the project as it looks unappealing. Most users won't try to learn or use GOSH because it is not a portable skill or format outside of the Genode projects.
I would be happy to contribute by working on converting GOSH files to Markdown format. I have already converted all 9 README files of the 9 public Genodelabs GitHub repositories to Markdown. I could continue doing this. However I don't want to waste my time doing something that wouldn't be accepted by the Genode project.
There is an automatic way to convert all the GOSH documents to Markdown.
First, export GOSH documents to HTML or LaTeX. Then use a HTML or LaTeX to Markdown converter, then it will be automatically written to native Markdown. Thus saving manual labour.
These tools can be used to convert from HTML to Markdown format automatically:
https://github.com/jgm/pandoc (This one can convert from LaTeX or HTML to Markdown) https://github.com/showdownjs/showdown https://github.com/mixmark-io/turndown _______________________________________________ users mailing list -- users@lists.genode.org To unsubscribe send an email to users-leave@lists.genode.org Archived at https://lists.genode.org/mailman3/hyperkitty/list/users@lists.genode.org/mes...
-----BEGIN PGP SIGNATURE----- Version: ProtonMail
wsFzBAEBCAAnBYJmoQ1oCZCitIn/WOqZFhYhBGE5v9meIGIfaJ2mBqK0if9Y 6pkWAAC9uxAAum9sUDzVrNT8R0L4Hr5PmpRoC23nTpXrk7/uMssAfVgdPzMh 9n61DzTpslnRYLgY/nCJgBof0jdYRUZvJQg/QiCszgiQZsnYBOae5iDnxdvp Vcm1E1wj8uj7g+nKpVhi2J8JlAYqywP5zSIeuBr9n4cjFR3CMnZiaFM7ijPA cKOrN2BdVHVpwM4n+si6iy9aF0iFsQcjiZBGNFwZVnpZ3ucpdi82VsbyBeau Z79+SBYmE2+eN7Rt4wqmrj5Xtvb9rEsjyofqHJR/WVb49g++teAoSik/jzjc aw0bJ9J2zYfB0SLUIobuyi2LXLjedyH6RLYx4bxXG+noxI2MqKbqAuvmkdgd hQ9XW4JRes4glwF/bmRphVr2uLe1nhKQCNZUr3Vxmw09mEJMiTHlJhIsHFyS NHEebYj7woK0iJWpeLd7FrXjBItNPF0YheRNnKjj5lc/BGI++PGGiv4dRJ7r 0/aZz/Exha5dYzl446jeKx4W8jVm44AFxG5q6sbTUJVrvi1rcPMiO5eBHxo7 Rlf6699vwRMqehqpaR/yMw4xNLTept5lzgP+6FBDfTqjVcwbK/IHitzemilO I3n7vkQ+jibql68B2WNgYV/1244E+vFB1GkSAVvjjmdfAd6N+OpTlX3Y9ACy G6T3T/aHWOogwdKLKwkgxbHNsOZR1QUjVdA= =8yJM -----END PGP SIGNATURE-----
users mailing list -- users@lists.genode.org To unsubscribe send an email to users-leave@lists.genode.org Archived at https://lists.genode.org/mailman3/hyperkitty/list/users@lists.genode.org/mes...
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
In my eyes, gosh is a "readable as a text file" + converter, markdown only the former. The converter partly or completely defines any format it converts to. Therefore gosh ought to go at least partly lower level of abstraction than MD; and its description as formally more powerful is approriate (i.e. one can see how gosh could contain markdown but markdown coule not contain gosh's converter part).
Now, to self-quote:
But is format the real point of Gosh? In my view structurally Gosh sits or should sit below any document file format. There are no .gosh files, only a syntax for txt-files, and that syntax has the purpose of (1) being readable universally (2) acting as a "middle-man" of the conversation job.
gosh format, markdown and other "readable as a text file" formats can do these jobs; I make no commentary which should do it because to me it seem the same.
But there should exist a simple command line tool that converts between document files (for example also pdf, microsoft / google doc files) that uses ONE of the "readable as a text file" as a "middle-man." Without such tool, there would be lots of converters, some written from A to C when from A to B & B to C already exist; these might be named differently; and use different command syntax. With such a tool, bloat is reduced significantly.
One can reasonably point now that such tools do exist; but were gosh removed there would none would built-in with Genode. Neither the original proposal to just move to markdown nor your comment make sense structutrally; but you are right that everything is of course maintainer's decision.
On Wednesday, July 24th, 2024 at 19:18, Spencer via users users@lists.genode.org wrote:
I feel like this misses the point somewhat- Markdown is also aiming for the 'readable as a text file' and really is a very similar technology to Gosh. Also, whether they are .gosh files, or text files that happen to implement gosh doesn't matter much, just as .md doesn't matter really (unless the viewer has special case rendering for one or the other)
Imo its really, is it worth the hassle to switch from something already known and liked (gosh) to the very similar competing format (markdown) to gain compatibility with the surrounding ecosystem.
I can't say for the dev team if its worth it for them either way, but I think it's misguided to say that gosh is inherently more powerful or something.
On Wed, Jul 24, 2024, at 9:19 AM, Jana Hirsch via users wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
I first saw the discussion on this I thought "oh no, hopefully someone doesn't try to conform us into MD." There is a taller stack of deeper problems with the reasoning of the humans who do what you did, but I will restrain from writing an unpragmatic response, focusing on concrete details.
You say:
"I propose that Genode adopts Markdown instead of GOSH.
Markdown has become the standard format for nearly all Open Source projects and Git hosting sites. GitHub, GitLab, Gitea and Codeberg/Forgejo all use Markdown, none support GOSH format.
I can read Markdown in GitHub repositories using my Android phone with the GitHub app. I cannot read GOSH files on a phone or tablet. This makes it harder to read correctly rendered GOSH files compared to Markdown. If I want to read a rendered GOSH document(not in plain text), I must clone the Genode & GOSH repo, install GOSH & TCL/TK, export the GOSH files to HTML or LaTeX from the command line, then view in PDF or HTML viewer. This is not simple compared to Markdown which is rendered natively on almost any device."
https://github.com/nfeske/gosh says:
"GOSH is a tool for converting plain ASCII text to LaTeX and other document formats. Its main design criteria was to use a syntax that is perfectly readable as plain ASCII text and the support of different target formats. The source files of GOSH have a very simple syntax that is similar to the usenet style. Everyone, who ever wrote a mail using an plain ASCII editor will be able to write GOSH texts. ; Actually, the file you are reading right now is a GOSH text file. GOSH supports multiple target formats by different backends, which are available as separate files. By now, there exists the built-in LaTeX backend, a simple HTML backend and a man-page backend."
The Gosh **format** is more universal than markdown, because one can read it on any device that displays txt-file. Lack of rendering does not prevent one from reading the files. Therefore your premise is certainly unsound.
But is format the real point of Gosh? In my view structurally Gosh sits or should sit below any document file format. There are no .gosh files, only a syntax for txt-files, and that syntax has the purpose of (1) being readable universally (2) acting as a "middle-man" of the conversation job.
The second one is a good idea: for new formats, the problem will always be how to convert this to Gosh (1 problem) instead of how to convert this to others (~ n problems). Also, it improves security, because we can know / can know that conversions should not be able to do anything more than what Gosh can.
Thus, why not add (bi-directional) support for markdown to Gosh? I feel like you could then propose this again for the GitHub.
On Wednesday, July 24th, 2024 at 00:47, Jack Curran genode@axioms.info wrote:
Here is my corresponding GitHub issue to track the progress, discussions or changes/commits made in regards to this proposal: https://github.com/genodelabs/genode/issues/5303
I propose that Genode adopts Markdown instead of GOSH.
Markdown has become the standard format for nearly all Open Source projects and Git hosting sites. GitHub, GitLab, Gitea and Codeberg/Forgejo all use Markdown, none support GOSH format.
I can read Markdown in GitHub repositories using my Android phone with the GitHub app. I cannot read GOSH files on a phone or tablet. This makes it harder to read correctly rendered GOSH files compared to Markdown. If I want to read a rendered GOSH document(not in plain text), I must clone the Genode & GOSH repo, install GOSH & TCL/TK, export the GOSH files to HTML or LaTeX from the command line, then view in PDF or HTML viewer. This is not simple compared to Markdown which is rendered natively on almost any device.
FOSS is a collaborative community. To make an open source project successful, It is important to use common formats and tools so the community can collaborate easily. The higher the barrier to entry, the less likely it is for people to bother contributing.
Switching to Markdown does not lose the benefits of LaTeX. The Git hosting sites as listed above, support inline LaTeX rendering within Markdown documents for mathematical expressions and diagrams. Markdown is used on these Git hosting sites for writing documentation, wiki, comments, issues, README, blogs and web pages etc.
Having an appealing looking GitHub repository is important as it could be the first time a user encounters the project, thus setting their first impressions. If using GOSH, which isn't rendered correctly, they may not decide to look further into the project as it looks unappealing. Most users won't try to learn or use GOSH because it is not a portable skill or format outside of the Genode projects.
I would be happy to contribute by working on converting GOSH files to Markdown format. I have already converted all 9 README files of the 9 public Genodelabs GitHub repositories to Markdown. I could continue doing this. However I don't want to waste my time doing something that wouldn't be accepted by the Genode project.
There is an automatic way to convert all the GOSH documents to Markdown.
First, export GOSH documents to HTML or LaTeX. Then use a HTML or LaTeX to Markdown converter, then it will be automatically written to native Markdown. Thus saving manual labour.
These tools can be used to convert from HTML to Markdown format automatically:
https://github.com/jgm/pandoc (This one can convert from LaTeX or HTML to Markdown) https://github.com/showdownjs/showdown https://github.com/mixmark-io/turndown _______________________________________________ users mailing list -- users@lists.genode.org To unsubscribe send an email to users-leave@lists.genode.org Archived at https://lists.genode.org/mailman3/hyperkitty/list/users@lists.genode.org/mes...
-----BEGIN PGP SIGNATURE----- Version: ProtonMail
wsFzBAEBCAAnBYJmoQ1oCZCitIn/WOqZFhYhBGE5v9meIGIfaJ2mBqK0if9Y 6pkWAAC9uxAAum9sUDzVrNT8R0L4Hr5PmpRoC23nTpXrk7/uMssAfVgdPzMh 9n61DzTpslnRYLgY/nCJgBof0jdYRUZvJQg/QiCszgiQZsnYBOae5iDnxdvp Vcm1E1wj8uj7g+nKpVhi2J8JlAYqywP5zSIeuBr9n4cjFR3CMnZiaFM7ijPA cKOrN2BdVHVpwM4n+si6iy9aF0iFsQcjiZBGNFwZVnpZ3ucpdi82VsbyBeau Z79+SBYmE2+eN7Rt4wqmrj5Xtvb9rEsjyofqHJR/WVb49g++teAoSik/jzjc aw0bJ9J2zYfB0SLUIobuyi2LXLjedyH6RLYx4bxXG+noxI2MqKbqAuvmkdgd hQ9XW4JRes4glwF/bmRphVr2uLe1nhKQCNZUr3Vxmw09mEJMiTHlJhIsHFyS NHEebYj7woK0iJWpeLd7FrXjBItNPF0YheRNnKjj5lc/BGI++PGGiv4dRJ7r 0/aZz/Exha5dYzl446jeKx4W8jVm44AFxG5q6sbTUJVrvi1rcPMiO5eBHxo7 Rlf6699vwRMqehqpaR/yMw4xNLTept5lzgP+6FBDfTqjVcwbK/IHitzemilO I3n7vkQ+jibql68B2WNgYV/1244E+vFB1GkSAVvjjmdfAd6N+OpTlX3Y9ACy G6T3T/aHWOogwdKLKwkgxbHNsOZR1QUjVdA= =8yJM -----END PGP SIGNATURE-----
users mailing list -- users@lists.genode.org To unsubscribe send an email to users-leave@lists.genode.org Archived at https://lists.genode.org/mailman3/hyperkitty/list/users@lists.genode.org/mes...
Spencer wrote:
I feel like this misses the point somewhat- Markdown is also aiming for the 'readable as a text file' and really is a very similar technology to Gosh. Also, whether they are .gosh files, or text files that happen to implement gosh doesn't matter much, just as .md doesn't matter really (unless the viewer has special case rendering for one or the other)
I am not missing the point, I completely understand what GOSH is and how it works. GOSH is a markup format like Markdown. My point is simply to adopt a markup format, any format, that is supported by GitHub so users can read the documentation and GOSH files in a properly rendered markup format, not plain text GOSH. I would say that less than 100 people have ever installed or used GOSH on their systems. On their other hand, at least 10’s of millions of people have used Markdown, and Billions of people have read Markdown rendered pages on the internet. If you have ever visited GitHub or any Git hosting site, it is almost assured you have encountered Markdown rendered text.
Whenever a new user comes across an open source project, they do not immediately clone the project and then comb through the source code to see if they are interested in contributing. They will browse the GitHub repository on the GitHub website instead, and gauge if they are interested in it. This means they will be relying on GitHub to render the text formats on the website for them. However GitHub doesn’t support GOSH so if they want to read the properly rendered GOSH text they must install GOSH on their system. Having to require a user to install an unknown tool such as GOSH just to be able to read the documentation GOSH files without reading the ugly plain text is a major barrier to entry. Because you are requiring the user that installs this executable on their system which means they either need to blindly trust that it is safe, even though it only has 10 stars on GitHub which means it hasn’t been audited by many users, or you need to comb through the source code and audit it to verify it is not malicious, just so you don’t have to read plain text any more. But if we had just used Markdown instead, a user would never need to encounter this extra source of friction and tooling just to be able to contribute easily to Genode. They would be able to easily browse the source code and documentation in a supported text rendering format on the GitHub website without having to install and trust an executable by the Genode project to read the GOSH text.
GOSH is an unknown format to any user outside of the Genode project. Therefore, just because Genode developers are comfortable with GOSH doesn't mean outside users are. At least with Markdown it is a widely used and widely known format and there are many ways of rendering it. There is only one way to render GOSH files and you must either trust or manually audit the GOSH source code if you want to render the GOSH text files.
This is why I think we should use a markup format, such as Markdown, which is natively rendered by GitHub so it makes for a much improved user experience when browsing the Genode GitHub repositories without having to install GOSH. Most users aren't going to go through the steps of Cloning Genode, GOSH, TCL/TK and auditing the GOSH code before they are comfortable installing it on their system.
Imo its really, is it worth the hassle to switch from something already known and liked (gosh) to the very similar competing format (markdown) to gain compatibility with the surrounding ecosystem.
Yes it’s absolutely worth it in my opinion. It’s close to zero hassle, we have automation software to do this in minutes as I have linked in my original text. Also, GOSH is not able to be live previewed in real-time, Markdown can be. In VSCode I can write Markdown and preview in real-time easily. I can’t with GOSH and this creates additional hassle and friction for me to use GOSH. So if we ever wanted to write and preview GOSH documents at the same time, we would have to implement some embedded browser rendering script allow for this the same way we can do with Markdown. This would vastly increase the scope and developer’s time for GOSH which would just be reinventing the wheel that Markdown has invented for us. I understand that GOSH is over 19 years old, so Markdown was only just being created then. But it is clear which format has won in popularity, tools, features and adoption, it’s not GOSH.
I was saying that to Jana, who seemed to be implying that Gosh was doing something fundamentally different, which I don't think is the case.
Not making any further comment on if its worth it to the dev team or not, not sure we can know what their priorities are on this anyways.
On Fri, Jul 26, 2024, at 4:04 PM, Jack Curran wrote:
Spencer wrote:
I feel like this misses the point somewhat- Markdown is also aiming for the 'readable as a text file' and really is a very similar technology to Gosh. Also, whether they are .gosh files, or text files that happen to implement gosh doesn't matter much, just as .md doesn't matter really (unless the viewer has special case rendering for one or the other)
I am not missing the point, I completely understand what GOSH is and how it works. GOSH is a markup format like Markdown. My point is simply to adopt a markup format, any format, that is supported by GitHub so users can read the documentation and GOSH files in a properly rendered markup format, not plain text GOSH. I would say that less than 100 people have ever installed or used GOSH on their systems. On their other hand, at least 10’s of millions of people have used Markdown, and Billions of people have read Markdown rendered pages on the internet. If you have ever visited GitHub or any Git hosting site, it is almost assured you have encountered Markdown rendered text.
Whenever a new user comes across an open source project, they do not immediately clone the project and then comb through the source code to see if they are interested in contributing. They will browse the GitHub repository on the GitHub website instead, and gauge if they are interested in it. This means they will be relying on GitHub to render the text formats on the website for them. However GitHub doesn’t support GOSH so if they want to read the properly rendered GOSH text they must install GOSH on their system. Having to require a user to install an unknown tool such as GOSH just to be able to read the documentation GOSH files without reading the ugly plain text is a major barrier to entry. Because you are requiring the user that installs this executable on their system which means they either need to blindly trust that it is safe, even though it only has 10 stars on GitHub which means it hasn’t been audited by many users, or you need to comb through the source code and audit it to verify it is not malicious, just so you don’t have to read plain text any more. But if we had just used Markdown instead, a user would never need to encounter this extra source of friction and tooling just to be able to contribute easily to Genode. They would be able to easily browse the source code and documentation in a supported text rendering format on the GitHub website without having to install and trust an executable by the Genode project to read the GOSH text.
GOSH is an unknown format to any user outside of the Genode project. Therefore, just because Genode developers are comfortable with GOSH doesn't mean outside users are. At least with Markdown it is a widely used and widely known format and there are many ways of rendering it. There is only one way to render GOSH files and you must either trust or manually audit the GOSH source code if you want to render the GOSH text files.
This is why I think we should use a markup format, such as Markdown, which is natively rendered by GitHub so it makes for a much improved user experience when browsing the Genode GitHub repositories without having to install GOSH. Most users aren't going to go through the steps of Cloning Genode, GOSH, TCL/TK and auditing the GOSH code before they are comfortable installing it on their system.
Imo its really, is it worth the hassle to switch from something already known and liked (gosh) to the very similar competing format (markdown) to gain compatibility with the surrounding ecosystem.
Yes it’s absolutely worth it in my opinion. It’s close to zero hassle, we have automation software to do this in minutes as I have linked in my original text. Also, GOSH is not able to be live previewed in real-time, Markdown can be. In VSCode I can write Markdown and preview in real-time easily. I can’t with GOSH and this creates additional hassle and friction for me to use GOSH. So if we ever wanted to write and preview GOSH documents at the same time, we would have to implement some embedded browser rendering script allow for this the same way we can do with Markdown. This would vastly increase the scope and developer’s time for GOSH which would just be reinventing the wheel that Markdown has invented for us. I understand that GOSH is over 19 years old, so Markdown was only just being created then. But it is clear which format has won in popularity, tools, features and adoption, it’s not GOSH. _______________________________________________ users mailing list -- users@lists.genode.org To unsubscribe send an email to users-leave@lists.genode.org Archived at https://lists.genode.org/mailman3/hyperkitty/list/users@lists.genode.org/mes...
Spencer wrote:
I was saying that to Jana, who seemed to be implying that Gosh was doing something fundamentally different, which I don't think is the case. Not making any further comment on if its worth it to the dev team or not, not sure we can know what their priorities are on this anyways.
Oh I apologise, I didn't realise that. Yes I don't think GOSH is doing anything dramatically different than what Markdown does.
A lot of the Genode team are still on Holiday break, so I am writing these proposals with the hope that they will read and address them once they return from their break.
Jana Hirsch wrote:
I first saw the discussion on this I thought "oh no, hopefully someone doesn't try to conform us into MD." There is a taller stack of deeper problems with the reasoning of the humans who do what you did, but I will restrain from writing an unpragmatic response, focusing on concrete details.
Genuine curiosity. What is the problem with adopting standards? I can’t see the downside of adopting Markdown over GOSH. Markdown is not proprietary, it’s an open standard. I understand the FOSS community can be resistant to standards, especially corporate backed ones, but they can be a necessity. Some individuals don’t like things just because they are popular and feel the need to be contrarian without substance behind that desire. There is also a forking culture in FOSS. The community will often fork a project if it becomes popular, but often it is in vain due to network effects, unless it is a significant improvement.
We would not be able to send emails, do mathematics, chemistry, or use the internet without common standards. We read English from left to right not because it is technically superior to right to left or bottom to top, but because we had to choose a standard method. There will always be competing standards, but eventually a single standard usually wins over the rest, even when it may not be the best at everything, at a certain point it just isn’t worth swimming against the tide unless you have good reason. Such valid reasons may be avoiding proprietary standards like Thunderbolt, DRM, Fire Wire or HDMI. Sometimes it may make sense if the dominant standard is significantly technically inferior to a competing standard.
We all agree the year is 2024, that’s the Gregorian calendar, but there are many other calendars that exist. Is it worth using alternatives if the Gregorian calendar is adequate?
At a certain point you must prioritise what really matters over others that don’t. Genode Framework and Sculpt OS are important, but GOSH isn’t IMO, we could easily use Markdown without losing what really matters(In case Norman reads this. This is not an attack on you or GOSH format, it’s simply that GOSH is not adopted outside of Genode and therefore isn’t supported on GitHub.). GitHub has explicitly said they do not intend to add support for additional markup formats. So we can’t expect GOSH to be adopted by GitHub.
For instance, Genode has adopted English as the standard for all communication in the project. In fact English is the dominant languages for nearly all programming languages, firmware, operating systems and open source projects. From a technical perspective, other languages could be better than English. But English is sufficient to not warrant change.
“Write your postings in English only. The use of any other language will generally be perceived as inconsiderate. ” https://genode.org/community/mailing-lists
If we had several languages on the GitHub Repository and mailing lists, it would cause such friction and inefficiencies that it would slow down progress significantly for no valid reason other than allowing people to use what they feel comfortable with, even at the detriment of collaboration ease and efficiency.
I am not a fan of Git at all. I don’t think it could be much more user unfriendly. I much prefer Darcs Version Control, but Git nonetheless is the standard, so I use it alongside Darcs.
The Gosh **format** is more universal than markdown, because one can read it on any device that displays txt-file. Lack of rendering does not prevent one from reading the files. Therefore your premise is certainly unsound.
I didn’t say that you can’t read GOSH without rendering it. It’s that reading the plain text version of any of these markup formats are distracting and mentally fatiguing compared to the rendered versions. I have spent time reading the Genode repository in plain text on GitHub. It is not enjoyable compared to reading natively rendered Markdown in other GitHub repositories. GitHub doesn’t support GOSH rendering, I desire a format that is natively rendered. Markdown fits that bill. There are alternate formats that GitHub supports too, if you have technical reasons for avoiding Markdown specifically.
The second one is a good idea: for new formats, the problem will always be how to convert this to Gosh (1 problem) instead of how to convert this to others (~ n problems). Also, it improves security, because we can know / can know that conversions should not be able to do anything more than what Gosh can.
I’ve never heard of any markup malware. I don’t even know if it’s possible. We would still audit the plain text before accepting it using any markup format including GOSH. GOSH doesn’t prevent this any more than Markdown would, you have to run the GOSH syntax through the GOSH Shell executable. You are still executing code based off the plain text file, GOSH or Markdown alike. If anything it’s worse with GOSH since the web browser that renders Markdown is at least sandboxed(Yes I know there are browser exploits that exist, but they aren’t that common and are patched quickly when discovered), but GOSH is running in the system terminal with full access to the home directory and possibly root directory depending on your permissions, It’s not sandboxed, at least on Linux. So if there somehow was malware in a GOSH file, it would do more damage than Markdown malware that is running in a web page browser I believe.
Thus, why not add (bi-directional) support for markdown to Gosh? I feel like you could then propose this again for the GitHub.
I can add that to this proposal as a secondary consideration, but that is not my goal.
My goal is to have Genode adopt a markup format(any format, it doesn’t need to be Markdown) that is supported on GitHub. I want the Genode project to grow, gain traction, contributors and attention. The best way to do that is improving the public front-end appearance of the project, which includes the GitHub repositories.
It may seem like a minor issue, but I think the front-end for a GitHub repository matters a lot for attracting attention of users just browsing and exploring GitHub repositories. I have stumbled across many interesting projects while exploring the GitHub topics. My first impressions are affected by how nice the GitHub repository looks. A professional and clean looking GitHub repository will always attract my attention and trust more than a GitHub repository that has had no effort and the readme files are just plain text. I know that aesthetics shouldn't matter since it should just be about the code quality and content, but nonetheless it does play a part for me when I come across projects. If it affects me, I am sure it affects others, and increasing our appeal by even a small margin is a win. It bugs me that the Genode GitHub repository looks ugly because it is just boring plain text which could be easily changed to look better with little effort. This is nothing against GOSH as a tool, it seems perfectly adequate for what it is trying to accomplish. It’s just not supported by any Git hosting sites.
Markdown allows extra features such as Logos, inline LaTeX, embedded hyper links, links to specific sections of the text etc. It also has a large ecosystem of tools and resources.
Hello Jack,
thank you for sharing your impression on our project as someone with an untainted view.
I share your sentiment regarding the advantages of Markdown over GOSH. In fact, I'm casually using Markdown for projects unrelated to Genode for the reasons you stated.
Genode uses GOSH because no other simple text-markup syntax was established at the infancy of our project more than 15 years ago. At that time, GOSH existed already for more than 4 years and was fairly mature. However, I vividly remember that Christian and me tried deliberately to *avoid* using GOSH for Genode because we did not want to distract ourselves with tooling for text processing. Among the many tools we reviewed were (an early version of) Markdown, reStructured text, and the media-wiki format. Out of frustration with those, we ultimately went back to GOSH and lived happy ever since. In the meantime, we wrote more than 200 thousand lines of GOSH text, not even counting the articles at Genodians.org.
Today, 15 years later, as you remarked, Markdown is widely established. If we started Genode today, the choice of Markdown would be obvious. So why has Genode not embraced Markdown yet? For two reasons:
(1) Consistency trumps form
High internal consistency within the project allows seasoned developers to work together in a joyful manner without friction. There is a single configuration syntax (XML), there is one coding style we adhere to, all of our custom scripts use the same scripting language (Tcl), and all texts are written in the same markup format (GOSH).
For newcomers, those particular choices are certainly worth criticizing and may present barriers of entry. On the other hand, the project's high degree of internal consistency is of immeasurable value for the developers who are highly invested in the project and drive it forward. Everyone in the boat speaks the same language. So we can converse with substance and without friction.
The internal consistency of Genode is principled and not negotiable. Unless we commit to make the transition to Markdown our goal for all of Genode's text work, text will need to remain formatted in GOSH style.
(2) Control over tooling gives superpowers
Even though we tried to avoid our home-cooked GOSH tool initially, in hindsight our decision has been a resounding success. Since we master the tool, we can adjust it easily for all of our needs. The GOSH tool empowers the CMS of genode.org, the Genode books, the nicely formatted documentation of 'goa help', the Genodians.org blog, and even the business letters of our company. It satisfies all our needs so nicely because it is built specifically for our needs. For us at Genode Labs, there is no alternative to it.
Your question of whether Genode might adopt Markdown or not comes down to the question for a tangible migration plan that keeps (1) and (2) intact. Finding and executing such a plan is certainly possible. But it is a far greater ambition than the reformatting of a bunch of files.
Personally, I think that Genode should eventually move to Markdown. Avoiding discussions like this one would be reason enough. Hence, it comes down to prioritizing work. When weighting the purported benefits of this topic against the many points on our current road map [1], I find the effort not justifiable today. Once we discuss the road map for next year, you might bring it up for consideration then.
[1] https://genode.org/about/road-map
Jana's suggestion of making GOSH interoperable with Markdown is very sensible. It is concerned about a plan (how to get there?), not merely a goal (want this). The idea could be explored as an off-and-on effort without any haste. I'm almost tempted to try. ;-)
Regards Norman