#85 Proposed Project for GSoC - Unintrusive Synchronized Authorship Web Application
Closed 3 years ago by siddharthvipul1. Opened 3 years ago by t0xic0der.

This is a proposed project for Google Summer of Code

  • Skill level: Beginner to Intermediate
  • Skills required:
    • Programming Languages: Python, Javascript, SQL
    • Markup Languages and Design: HTML5, CSS
    • Frameworks and Libraries: Flask, Click, WebSockets, JQuery
    • Concepts: Database Management System, Computer Networks
  • Mentor(s): @t0xic0der, @siddharthvipul1 (if you are interested), [SUGGEST SOME MORE PEOPLE]
  • Contacts (IRC & email): t0xic0der (akashdeep.dhar@gmail.com)

  • Idea description:

    • There has been this web application I have been building a functional prototype for, which allows for synchronized authorship of documents in an unintrusive manner. The project is called Syngrafias.

    • To explain this in a better way, people who have used Google Docs for editing documents collaboratively know how the changes made to the document are actively synchronized to all the collaborators during the time of editing. Syngrafias does that but with a much more distributive approach to it - as here the changes made in the document in the absence of the other user would not be synchronized, thereby seamlessly creating (say) a fork of the same document. (See the attached image collabnt.png)

    • The unintrusiveness in the document editing can be better explained if I draw parallelism with Jupyterlab. Just like in Jupyterlab, we have distinctive cells here for editing text. It is a simple mechanism but with much greater functionality as it allows you to selectively share the parts of the document you want collaborators to edit and rearrange the parts of the document by simply using a drag-n-drop operation. I have added in Summernote for WYSIWYG editing for each cell. (See the attached image opendocs.png)

    • Of course, there is activity tracking so any change in the document title, cell title or cell content gets logged and activities like cell creation and removal are synchronized across all connected clients. The way I see it, this project can bring about radical positive changes to the way Fedora's project documentation are worked upon collaboratively. Also, if I simply replace Summernote with CodeMirror - this can even be used for collaboratively editing code snippets on-the-go. (See the attached image activlog.png)

    • With 57 commits as of the time of writing the idea description, the project is only getting started and only the bare functionalities of the project are complete. You can find the repository here, the usage instructions here and the screenshots here. There are tons that we can expand upon if this ends up becoming a project for GSoC. I would very much love for you folks to try out the project, let know what you think about it and your valuable suggestions for it to become a GSoC project - if it can. I would be obliged.

  • What are we looking for:

    • A collaborate platform for editing documents or code-snippets by the end of the GSoC internship period
    • People who are interested to work with computer networks and databases and/or have a sound knowledge of both
    • A potential solution to documentation handling (which is now done via Pagure in a not very friendly manner)
  • Notes & references:

    • Only the bare functionalities of the project have been worked upon to create a prototype exhibiting what the idea is capable of. There is a lot of scopes to expand upon the available base.
    • Syngrafias means "authorship" in the Greek language. I am definitely open to changes if the current name does not sound good. (It doesn't sound good, I know :laughing:)
    • Most of the skill requirements (except for concepts) in the project simply fall in the desired category as they are mostly easy to pick (albeit may be difficult to master), thereby creating an opportunity for folks who would want to learn as they create.
    • I cannot emphasise enough how beneficial it can be to try out the project prototype to understand how capable the project can be. You can find the project page and the project wiki links here.

UPDATE 1 - With reference to the conversations which took place in the mail thread which you can find here, Syngrafias has had a lot of major Fedora-oriented changes included to it.

  • An AsciiDoctor cheatsheet has been included in the project.
  • Unity Mode has been made the default text editor.
  • Users are given the choice to switch over to the cellular mode.
  • Cellular mode provides a scalable alternative to the likes of HackMD etc. for discussion notes.
  • External JS and CSS assets have been included locally to avoid tracking.

UPDATE 2 - With that, the objective for the course of GSoC has also been heavily modified and now falls in line with the points specified below - Interns are expected to

  • Package Syngrafias into an RPM Package
  • Help include more Fedora-oriented changes to Syngrafias
  • Integrate Edit button in Fedora Docs with Unity Mode editor
  • (More to be added)

Alright, it seems that the image links that I have posted are all messed up. So I am reposting them here as plain text.

Hi @t0xic0der I would like to work on this issue.

Hi @t0xic0der I would like to work on this issue.

hi @tripathyprateek, just as an FYI: this project is not yet selected or scoped out for next year's GSoC.
But that should not stop you from contributing to an open-source project.
Just wanted to highlight this. Thank you

Hi @t0xic0der I would like to work on this issue.

hi @tripathyprateek, just as an FYI: this project is not yet selected or scoped out for next year's GSoC.
But that should not stop you from contributing to an open-source project.
Just wanted to highlight this. Thank you

Yeah Sure, no problem. I just wanted to start contributing.

Thank you for expressing your interest in the project @tripathyprateek :smile:

As you can see here (and as @siddharthvipul1 said) this is merely a proposition as of now. It is neither selected nor removed yet for GSoC but if it looks interesting to you, feel free to contribute.

I would start from fedora-join though. Take a look at this.

Hi @t0xic0der
I have a couple of concerns (as discussed with you on telegram)

  1. How does this project relates to the Fedora Project?
  2. Who wants it? (as in, have you discussed it with the community if this is a required enough project to invest some resources into it)
  3. How does this compares to Antora (from my experience, Antora could use some mentors and improve a lot, maybe you would be interested in mentoring a feature there if this is your interest area?
  4. Say if the community wants this and this fits our criteria (relevance and stuff), have you discussed with the Infra team on how will it be hosted to be provided to the community 'as a service'?

cc: @sumantrom who is GSoC coordinator along with me,
Sumantro, what do you think?

Hi @t0xic0der
I have a couple of concerns (as discussed with you on telegram)

  1. How does this project relates to the Fedora Project?
  2. Who wants it? (as in, have you discussed it with the community if this is a required enough project to invest some resources into it)
  3. How does this compares to Antora (from my experience, Antora could use some mentors and improve a lot, maybe you would be interested in mentoring a feature there if this is your interest area?
  4. Say if the community wants this and this fits our criteria (relevance and stuff), have you discussed with the Infra team on how will it be hosted to be provided to the community 'as a service'?

cc: @sumantrom who is GSoC coordinator along with me,
Sumantro, what do you think?

These are very valid questions. Fedora project in the past also looks out for contributor retention post-GSoC. Since this project isn't a part of Fedora at this point, and Google verifies the project before allocating slots, I would like to know a bit more about "why should this be a part of Fedora Org?" and " How do you plan to retain contributors?"

How does this project relates to the Fedora Project?

As discussed before, the project might not end up adding value to the distro code per se but it has the potential to be a project assisting the distro/community (e.g. Bodhi and Mote like you remarked in our meet :P) by making the process of documentation creation much more efficient and conveniently collaborative (as compared to the Pagure and Antora-bound method that we use right now). Do note that the project (I believe) aims to complement the tried-and-tested systems in place as of now with the features it has (and plans to have).

With slight changes, it can bring about the same efficiency and convenient collaboration even in the field of group coding which might not be the crux here for an addon for Visual Studio Code does that in a much better way. I think there is no need to reinvent the wheel here.

Who wants it? (as in, have you discussed it with the community if this is a required enough project to invest some resources into it)

I have put conversation with @bt0dotninja regarding trying out the functional prototype (and to see if it is worth becoming a mentor for should it get selected :grin:) and I am yet to talk with @pbokoc who leads the documentation team (As that is the part where the project is targeting to service). I am oblivious to a lot of "right" people who can review and talk terms about the project - Something I could use pointers for. :sweat_smile:

How does this compares to Antora (from my experience, Antora could use some mentors and improve a lot, maybe you would be interested in mentoring a feature there if this is your interest area?

This project (for now) only focuses on convenient WYSIWYG editing of documentation in an unintrusive and synchronized manner. Antora achieves a different goal by generating static sites from a coded asciidoctor syntax. I cannot draw a rational comparison between the two of them as the purpose of both are mostly disjointed.

Albeit, the way I see it - the project I am proposing here can complement to Antora's functioning by cutting down on the mandated build times to generate a preview (as we have a WYSIWYG feature) and deferred collaboration (highly subjective though as active synchronization would mostly benefit only those who are living at the same timezone and decide to work together for the same time).

When it comes to mentoring features for Antora, I have worked on projects that involve expression/string parsing, lexical recognition and template engine rendering - So I think I would be able to use my experience. dedicate time (now that the placement's headache is out of the way) and of course, interested to mentor a feature there. (Though I do request to wait on the consideration of this project proposition though.)

Say if the community wants this and this fits our criteria (relevance and stuff), have you discussed with the Infra team on how will it be hosted to be provided to the community 'as a service'?

Kind of. @bt0dotninja who is the part of the infra team is yet to see and try out the project. Once he does, I would get into further conversation with him regarding the nuances to be considered in order for it to be serviced. That is just to start with but I would gradually trickle into the fedora-infra team with this proposition's discussion.

These are very valid questions. Fedora project in the past also looks out for contributor retention post-GSoC. Since this project isn't a part of Fedora at this point, and Google verifies the project before allocating slots, I would like to know a bit more about "why should this be a part of Fedora Org?" and " How do you plan to retain contributors?"

Hi @sumantrom,

The very fact that the project originates from outside the Fedora but plans to be a potential service to it is the crux here. Folks participating in the GSoC would find the learning curve much pleasing when they get to start contributing meaningfully from where they are (and not immediately jump into learning Fedora-exclusive terminology and packaging knowledge - something that has been more-or-less the staple of our representation so far).

Though, the folks would need dive into those stuff down the line but the fact that they were present and actively contributing during the inception of a new technology (say this project) would make them believe that they have a role of responsibility - which in turn would make them want to stay. Participants can then gradually continue maintaining the project while contributing to other sister projects as well (which includes quick-docs, fedora-docs, antora etc.).

That is how I think we can retain participants as contributors for Fedora after when we have gone beyond the scope of GSoC. I emphasize again - the key is to pick a project which makes them realize that their contributions mean a lot from the start and their availability in the community after GSoC would be very much appreciated - something that I am afraid, might not be achieved if the problem statements are repetitive, uninventive or too cliqued to start from.

How does this project relates to the Fedora Project?

As discussed before, the project might not end up adding value to the distro code per se but it has the potential to be a project assisting the distro/community (e.g. Bodhi and Mote like you remarked in our meet :P) by making the process of documentation creation much more efficient and conveniently collaborative (as compared to the Pagure and Antora-bound method that we use right now). Do note that the project (I believe) aims to complement the tried-and-tested systems in place as of now with the features it has (and plans to have).

With slight changes, it can bring about the same efficiency and convenient collaboration even in the field of group coding which might not be the crux here for an addon for Visual Studio Code does that in a much better way. I think there is no need to reinvent the wheel here.

This answer pretty much ties with the second from what I understand. Bodhi, mote, etc are things that are being used by Fedora and are necessary components. We have a doc solution and may be worth starting a thread in -devel list with the suggestion, idea, comparison, etc.
Discuss if this would be adopted in the project :)

Who wants it? (as in, have you discussed it with the community if this is a required enough project to invest some resources into it)

I have put conversation with @bt0dotninja regarding trying out the functional prototype (and to see if it is worth becoming a mentor for should it get selected :grin:) and I am yet to talk with @pbokoc who leads the documentation team (As that is the part where the project is targeting to service). I am oblivious to a lot of "right" people who can review and talk terms about the project - Something I could use pointers for. :sweat_smile:

mailing list ;)

How does this compares to Antora (from my experience, Antora could use some mentors and improve a lot, maybe you would be interested in mentoring a feature there if this is your interest area?

This project (for now) only focuses on convenient WYSIWYG editing of documentation in an unintrusive and synchronized manner. Antora achieves a different goal by generating static sites from a coded asciidoctor syntax. I cannot draw a rational comparison between the two of them as the purpose of both are mostly disjointed.

Albeit, the way I see it - the project I am proposing here can complement to Antora's functioning by cutting down on the mandated build times to generate a preview (as we have a WYSIWYG feature) and deferred collaboration (highly subjective though as active synchronization would mostly benefit only those who are living at the same timezone and decide to work together for the same time).

When it comes to mentoring features for Antora, I have worked on projects that involve expression/string parsing, lexical recognition and template engine rendering - So I think I would be able to use my experience. dedicate time (now that the placement's headache is out of the way) and of course, interested to mentor a feature there. (Though I do request to wait on the consideration of this project proposition though.)

Say if the community wants this and this fits our criteria (relevance and stuff), have you discussed with the Infra team on how will it be hosted to be provided to the community 'as a service'?

Kind of. @bt0dotninja who is the part of the infra team is yet to see and try out the project. Once he does, I would get into further conversation with him regarding the nuances to be considered in order for it to be serviced. That is just to start with but I would gradually trickle into the fedora-infra team with this proposition's discussion.

With Fedora-Infra I mean Fedora-Infrastructure. You may want to bring this up in fedora-infra meeting

@siddharthvipul1 @sumantrom I have hit 3 mailing lists as of now (devel, docs and infrastructure) stating the project proposition, asking views regarding it and nuances to be considered. I am now waiting on the responses to see how feasible/viable this project can be as for our GSoC representation.

P.S. Also, sincere apologies to folks if they got spammed by my messages - just because they belonged to two or more of the above stated mailing lists :P.

I see a demo of the application, and looking fast over the dependencies, I think it is an excellent candidate for being deployed on the community shift[1]. As a tool to generate documents (compatibles with asciidoc) collaboratively, it can be valuable for some SIGS like Docs or Join (an easy and fast way to create quickdocs by example).

It still needs to be integrated with FreeIPA(FAS replacement), Fedmsg, and maybe Pagure.

My concerns are about adopting this project from the community and the further maintenance; the responses form -devel and -docs mailing list is crucial here. I will be delighted to see this project on GSoC if it is considered relevant for the community.

  1. https://fedora-infra-docs.readthedocs.io/en/latest/dev-guide/openshift.html (Maybe we need to know the current status of the community shift instance)

I see a demo of the application, and looking fast over the dependencies, I think it is an excellent candidate for being deployed on the community shift[1]. As a tool to generate documents (compatibles with asciidoc) collaboratively, it can be valuable for some SIGS like Docs or Join (an easy and fast way to create quickdocs by example).

Asciidoc is pretty much the standard, you dont really need to build it locally, for small changes, one can simply use https://asciidoclive.com/edit/scratch/1 and then download the .adoc file. I am not saying that's the best way, but since it does help almost anyone to submit small PRs and changes and write a small How tos.

@siddharthvipul1 If I am not wrong, communishift is going to be down until furthur notice.. correct me if I am wrong?

It still needs to be integrated with FreeIPA(FAS replacement), Fedmsg, and maybe Pagure.

That is exactly something which I am concerned, it's needs a lot of time for the student to integrate it with all these services, keeping the dependencies updated when there isn a new version and overall maintaining ( upgrading fedora when we release a new version).

My concerns are about adopting this project from the community and the further maintenance; the responses form -devel and -docs mailing list is crucial here. I will be delighted to see this project on GSoC if it is considered relevant for the community.

  1. https://fedora-infra-docs.readthedocs.io/en/latest/dev-guide/openshift.html (Maybe we need to know the current status of the community shift instance)

Nice work on the application @t0xic0der and thank you for opening the ticket here, I am having similar concerns as @bt0dotninja and @sumantrom here,

As there's a good amount of work happening within Fedora Infra regarding Noggin (FreeIPA based FAS replacement) and services like fedmsg and pagure, Integrating the application would take a good amount of effort and could consume a lot of time for students who are not familiar with how the internals of these services work along with the maintenance of the Dependency tree.

Asciidoc is pretty much the standard, you dont really need to build it locally, for small changes, one can simply use https://asciidoclive.com/edit/scratch/1 and then download the .adoc file. I am not saying that's the best way, but since it does help almost anyone to submit small PRs and changes and write a small How tos.

Indeed @sumantrom, Previously I did meet some contributors who didn't have a container engine installed to build the docs in the preferred Antora way and what they did was instead of building it locally in Fedora template, they installed the AsciiDoctor's Browser extension and made the modifications there for the PRs. (I used to do the same after GCI)

Asciidoc is pretty much the standard, you dont really need to build it locally, for small changes, one can simply use https://asciidoclive.com/edit/scratch/1 and then download the .adoc file. I am not saying that's the best way, but since it does help almost anyone to submit small PRs and changes and write a small How tos

Following up to what you said here @sumantrom. Looking to the fact of how proactively asciidocs is used for almost all the documentation tasks in Fedora - the least the proposed project can amount to is to address for its convenience. (The method you remarked can be used sparingly as it somehow goes beyond the scope of convenience but it really is not as optimal because I and folks at the docs team do build a local copy for previewing.)

That is exactly something which I am concerned, it's needs a lot of time for the student to integrate it with all these services, keeping the dependencies updated when there isn a new version and overall maintaining ( upgrading fedora when we release a new version).

I think it might be too unfair on our part to expect a project done till its completion from the participants during the GSoC tenure, where the project (being a service) has a huge scope. The tenure of GSoC should be utilized to complete most of the tasks, and not all (which kind of gives us a reason to retain participants as contributors after GSoC gets over).

Hi @nasirhm,

Nice work on the application @t0xic0der and thank you for opening the ticket here, I am having similar concerns as @bt0dotninja and @sumantrom here,

Thank you so much. This application is just a functional prototype that the participants can begin with and make it grow as large as the size of potential they see in it (if it gets selected that is :P)

As there's a good amount of work happening within Fedora Infra regarding Noggin (FreeIPA based FAS replacement) and services like fedmsg and pagure, Integrating the application would take a good amount of effort and could consume a lot of time for students who are not familiar with how the internals of these services work along with the maintenance of the Dependency tree.

True indeed. But the way I see it, we should spend the time of their GSoC tenure in developing the core functionalities of the said project while the service and integration part of it can follow soon after. It is indeed a respectable amount of work but it certainly would make the participant realize how important their contribution would be and how their presence in the community beyond the GSoC tenure is appreciated when there are parts of the work that would need looking into.

Indeed @sumantrom, Previously I did meet some contributors who didn't have a container engine installed to build the docs in the preferred Antora way and what they did was instead of building it locally in Fedora template, they installed the AsciiDoctor's Browser extension and made the modifications there for the PRs. (I used to do the same after GCI)

This solution does work (but when bound to circumstances like you remarked @nasirhm) while the project proposed here aims to achieve something much greater.

I would quote myself again. :grin:

I cannot emphasize enough how beneficial it can be to try out the project prototype to understand how capable the project can be. You can find the project page and the project wiki links here.

UPDATE - We are adding support for ASCIIDoctor and Markdown live-rendering and phasing out the WYSIWYG editor which was previously there.

cc @nasirhm @siddharthvipul1 @bt0dotninja @sumantrom

PS. - Yes I know, the user experience could use some work. :grin:

Screenshot_2020-11-09_Syngrafias.png

It's a good presentation, and I still think this can be a great platform for quick documentation or collaborative docs sprints, even for newcomers.

The videos are very clear about technologies, usage, and possible enhancements :)

UPDATE - We are adding support for ASCIIDoctor and Markdown live-rendering and phasing out the WYSIWYG editor which was previously there.

Awesome update

cc @nasirhm @siddharthvipul1 @bt0dotninja @sumantrom

PS. - Yes I know, the user experience could use some work. :grin:

Screenshot_2020-11-09_Syngrafias.png

@t0xic0der wrote:
UPDATE - We are adding support for ASCIIDoctor and Markdown live-rendering and phasing out the WYSIWYG editor which was previously there.

It's an awesome update, and would be pretty helpful with the asciidocs quick docs and collaboration.

I was wondering, If you can share it in with the Documentation team (on the Mailing List) and ask for feedback on how can we improve the project from the Documentation aspect.

It'll be a pretty good starting point for newcomers trying to get started with contributing to documentation and have a hard time setting it up locally.

Thank you for sharing the videos, I would like to second with @bt0dotninja here, they look pretty good and the future plans that you have are awesome.

I would be more than happy to collaborate as a Mentor for the project.

Thanks @bt0dotninja and @nasirhm for taking some time out and checking out the demonstrations. I would certainly reach out to the documentation team right away through the mailing address that you provided. The development is in full speed and I have acquired about 6-8 regular folks who dig the web application and want to make it as functional and polished as possible.

Feel free to join the development chat at https://github.com/t0xic0der/syngrafias/discussions and we'd love to answer your questions there. I understand that the scope and time both have gone down in this edition of GSoC but with the speed at which things are being built, the things that would be left out to do would include the Noggin integration and exhaustive QA checks.

Here's a working prototype.

http://35.231.107.163/

@tripathyprateek @siddharthvipul1 @bt0dotninja @nasirhm @sumantrom Please do take a look.

Type in your Username and generate yourself a Workspace identity using the BUILD button to log in. Share the workspace identity with someone or maybe open it up in a new browser session and collaboratively edit documentation.

Do let me know what you think about it.

(P.S. It is on one of the Google Cloud's cheapest tiers so the first load can be a bit slow.)

Changelog

  • Fixed WebSocket connection issue (Apparently, this had to be run as a systemd service in order for it to stay alive. The HTTP part was cached)

  • Fixed Document saving option by setting the working directory inside the systemd service. (Thanks @shivangswain)

UPDATE - With reference to the conversations which took place in the mail thread which you can find here, Syngrafias has had a lot of major Fedora-oriented changes included to it.

  • An AsciiDoctor cheatsheet has been included in the project.
  • Unity Mode has been made the default text editor.
  • Users are given the choice to switch over to the cellular mode.
  • Cellular mode provides a scalable alternative to the likes of HackMD etc. for discussion notes.
  • External JS and CSS assets have been included locally to avoid tracking.

With that, the objective for the course of GSoC has also been heavily modified and now falls in line with the points specified below - Interns are expected to

  • Package Syngrafias into an RPM Package
  • Help include more Fedora-oriented changes to Syngrafias
  • Integrate Edit button in Fedora Docs with Unity Mode editor
  • (More to be added)

UPDATE - I and @nasirhm have been in conversation with the infra team if we can be provided some resources for hosting this, now that the instance of Google Cloud has gone offline and a subdomain like (but not limited to) syngrafias.fedorainfracloud.org or syngrafias.fedoraproject.org for testing and rigorous QA. You can find the ticket that I am talking about here https://pagure.io/fedora-infrastructure/issue/9574.

Following the pointers provided to us, I created a ticket and explained nuances as to why this should be an initiative - the link of which you can find here https://pagure.io/cpe/initiatives-proposal/issue/13.

Thanks.

Hi @t0xic0der,
thank you for submitting this project.
Unfortunately it being not yet included in Fedora docs workflow and it not being mature enough to put in front of a student under Fedora project (IMO), I will have to say -1 to this.
I love this project and really looking forward to including this next year or so.

@sumantrom What do you think?

Metadata Update from @siddharthvipul1:
- Issue tagged with: GSoC

3 years ago

I understand the fact that Syngrafias is not yet a part of Fedora Project yet but I believe it definitely is a good experimental idea, waiting to be put out to test in front of Docs folks, to see if it turns up "good" results or not. Experimentation itself is a daunting process but should that stop us from trying at all? I don't think so.

Talking about the project's maturity, I strongly believe that once it is subjected to the participants' exposure or that of the community folks - this project would grow. I have been working on it myself for some time and then got some more folks to work (from outside the community), and have proposed an initiative but there's only so much that I could amount to. I would need help from inside the community to make it fedorable.

I understand the fact that Syngrafias is not yet a part of Fedora Project yet but I believe it definitely is a good experimental idea, waiting to be put out to test in front of Docs folks, to see if it turns up "good" results or not. Experimentation itself is a daunting process but should that stop us from trying at all? I don't think so.

and I 100% agree to your point
why not discuss it on devel list and start a sig around it?
get help from doc team?
submitting an experimental project in GSoC can be bad (imagine student working on it and it reaches nowhere)
we have had projects where someone worked but the outcome of the project was not seen/visible and that's not helpful.

I am not questioning importance or use of your tool, I am not sure if it's ready to be a GSoC project with Fedora yet.

And that's why I tagged @sumantrom to listen to his viewpoint.
I apologise if it looks like I am attacking the project :)

why not discuss it on devel list and start a sig around it?

I have been in discussion in the devel list and the review made against the live hosted version of Syngrafias had been mostly positive. All the criticisms made were handled promptly within merely 12 hours of their note.

I am not sure that I know the nuances to consider when starting a SIG. I would have to read up more about it before I would be able to decide if a SIG would be a right way forward for this project or not.

get help from doc team?

They were reached out to on their mailing list and on Telegram twice but we did not get to hear any responses from them unfortunately, even when it was just for looking into the project and to ask if they could arrange a meet for demonstrating the current state of it. I could ask them for help again but then again maybe due to the less technical nature of the Docs team, I would be less hopeful of the same. :(

submitting an experimental project in GSoC can be bad (imagine student working on it and it reaches nowhere)

With the discussions made in the mailing lists and the commits made to the repository throughout the span of the last four months since the filing of this ticket, the project had only acquired features and additions that would be helpful to the Docs team. I understand that with experimentation, we run the risk of reaching an outcome which might not be the one desired but please note that this project has been well thought of and worked on to stick close enough to the goal. We even have an endgoal precisely decided here https://lists.fedorahosted.org/archives/list/devel@lists.fedoraproject.org/message/ZWSKCQ2BQD4UZJAKEDNREF3FX6RVCDAR/ even when at that point of time I was unsure.

I apologise if it looks like I am attacking the project :)

Don't do that. We had a meet yesterday where we talked about it, yes? :)

I totally understand your standpoint and that you are only doing your work but please note that even I am also trying to make sure that the community is specifically benefited by pursuing this project and therefore, reaching out to folks to get to know what all can be good additions to this.

Hi all! I read the comment history. While reading, I noted tension points across this multi-month process. I am outlining the following thoughts in separate comments:

  1. Upstream first
  2. Scoping for Summer of Code
  3. Better entrypoints
  4. How to make this process less bad

Upstream first

I start with this first because it is important and we do not document it as often as we say it.

An "upstream-first" approach is the Fedora way. @ankursinha opened Fedora-Council/council-docs#84 to raise this as a discussion point with the Fedora Council. But we haven't gone far with it yet.

CC: @bookwar @mattdm @riecatnor @bcotton

@t0xic0der wrote:
The very fact that the project originates from outside the Fedora but plans to be a potential service to it is the crux here.

GSoC projects need to connect with an existing upstream community. Syngrafias and mentored-projects#95 (Podman monitoring) are new projects intended to help the community. But building for the community is not the same as building with a community. This is a lesson we learned the hard way across many years of GSoC. We need to involve our upstream communities in these conversations from as early a stage as possible. This is a contributing factor to why tools we sometimes create do not get deployed after internships. The issue is that while a tool was helpful, not enough people understood how the tool worked or the value it brought to the community. Even when there was good documentation!

With any Mentored Project for Fedora, we should center needs of our upstream communities as well as our Fedora Friends responsible for maintaining, so we can keep innovating in Features and being First to try new ideas of collaborating together on Software Freedom.

Scoping for Summer of Code

Piloting new projects in programs like GSoC or Outreachy is difficult. Mentored Projects have potential to further enable a well-supported project with a community. Mentored Projects also require commitment by a mentor. Before Fedora accepts new Mentored Project proposals, we need mentors with both capacity and infrastructure privileges to support the accomplishments of an intern when the internship concludes.

Google also has expectations from projects we propose. Google values when we commit interns to work on Open Source projects where there is a community and the intern gets to work together with other experienced Open Sourcerers. We need to make sure a project has a future after an internship. This is something we have sometimes done well, but often struggle with in Fedora.

@t0xic0der wrote:
the key is to pick a project which makes them realize that their contributions mean a lot from the start and their availability in the community after GSoC would be very much appreciated

This is the golden question. :grinning: We know the contributions mean a lot, and making them available to the community is something we want Fedora interns to experience when working on a project with Fedora.

Better entrypoints

The work on Syngrafias and the Podman monitor in mentored-projects#95 are both great ideas we could explore further. But a Fedora Mentored Project is not the right entrypoint for this kind of work.

The CPE initiative suggested by @siddharthvipul1 looks like a good approach. We could also look at launching a new Special Interest Group (SIG) for Web App Development. I know the Fedora Møte team is tackling similar infrastructure work, and we could combine forces.

GIF

What do you think, @t0xic0der?

How to make this process less bad

The process to get this feedback is late and delayed. The process is not well-documented and not clear. The right people who need to monitor community ideas and assess capacity are not yet a part of this conversation.

The pain points outlined in your last comment are actually insightful. I wonder if we could use these to inform better process and communication with Mentored Projects SIG, the Fedora Council, and the Red Hat CPE team. It would be great to condense this feedback loop from five months to two weeks.

CC: @kevin @pingou @amoloney @bcotton @mattdm

@t0xic0der wrote:
I understand the fact that Syngrafias is not yet a part of Fedora Project yet but I believe it definitely is a good experimental idea, waiting to be put out to test in front of Docs folks, to see if it turns up "good" results or not. Experimentation itself is a daunting process but should that stop us from trying at all? I don't think so.

These are the questions I am wondering:

  1. How could we document this process to be more agile?
  2. What ways could we improve the feedback loop from the CPE team to emerging project ideas from the Fedora Community?

The Fedora Community is innovative, bright, and comes with new exciting ideas. Not all great ideas come exclusively from Red Hat; long-time Fedora folks will likely agree. We do not have to promise years of enterprise-grade extended support for trying out new ideas, but it would be a shame to turn them away completely.

Thanks, @jflory7!

(Apologies, this would be a long one)

To https://pagure.io/mentored-projects/issue/85#comment-715062, I have been trying really hard (like really) to get folks to try the project and see if they could see value in it. The project proposal and the hosted demonstration was received well within the community and some folks applauded the things which were already in place as well as those who criticized the absent things - so there was some activity there and I was thankful for it too. :-)

Some time down-the-line I also reached out requesting for contributions to the project, to which I am afraid, I did not quite receive a response. I did try again to no avail and stopped trying before it could have become annoying. There were attempts to de-alienate the project and to make everyone feel like the project is from the community, by the community and for the community but I think that somehow I was not able to make that happen due to which even after five months, it's just me and some folks from outside of the community who are contributing to it.

If it is needed, I (and the folks who have been working so long on this are) am also willing to transfer the ownership of the repositories to https://github.com/fedora-infra/ to make sure that it falls under the open Fedora's governance but I agree that we were not quite able to connect these projects with an upstream community.

To https://pagure.io/mentored-projects/issue/85#comment-715064, both Syngrafias and SuperVisor started their life as entirely different projects - both in purpose, operation and objective. Since their proposal, extensive attempts have been made to ensure that the projects stay up to the standards of the community, that they are aiming to serve. Documentations were drastically improved upon and I had reached out to a few folks in the infra team with the project demonstrations to ask if they would like to participate as mentors for this project. Positive responses were met but concrete engagements were not.

I am certain that Syngrafias would result in a potential help to the documentation team but it has to be curated further especially by the documentation team regarding the features that are needed and the ones that aren't - failing to which the project would be underutilized and hence, would not be of much value. Like I have said before, the way this can be solved is by making the participant realize that their contributions are of value and that, their participation in, not just development, but for the project's advocacy and support beyond the scope of GSoC would be greatly appreciated.

To https://pagure.io/mentored-projects/issue/85#comment-715065, thank you for understanding that both the projects are great ideas @jflory7 but I am afraid they might die out and end up being just some plain repositories if there are no contributors to them and if there are no users who can take advantage of them. I really don't want that to happen for I (and @nasirhm) believe that every line of code which is written should add value and be of help to the community in some way or the other. The very reason why I proposed them both as mentored projects, is to garner prospect contributors to the projects who would want to pursue by their interest and innovation and drive the projects forward.

I would like to thank @pingou for suggesting that Syngrafias should be pursued as an initiative when @nasirhm filed a request for resources ticket at the infrastructure repo. I have gone through the documentation of the CPE Initiative and have loved the idea of Syngrafias being one but I am really worried about losing potential contributors in the due course of time and because there aren't any right now. I have also mailed folks of the Containers GitHub organization proposing the idea of SuperVisor.

I am totally interested to help launch a SIG for Web Application development and make these projects be a part of it - and in the process, gain contributors and keep the project idea from being killed off due to inactivity and the loss of interest in the due course of time. If I get busy in some time - may be due to my $dayjob or $basketball, I earnestly want the development to be picked up by other folks and make sure that the project ends up being of use to the community - because that's what I think is important for a project, right?

To https://pagure.io/mentored-projects/issue/85#comment-715067, unfortunately, we are kind of late and attempting to get feedback from the folks right for assessing community ideas now when it is already late might not be a good idea (or maybe it would be - I don't know anymore). We would want to convey the circumstances to the right folks as you mentioned so that maybe from next time, things would proceed in a better way? The scoping was greatly delayed and inconclusive even when the ticket was active for the last five months and I have left the wonder as to what I could have done to make things go faster and rigid.

I do agree that the projects proposed and worked upon so far might have nuances and caveats that they are better off without but it has been mostly me behind the development of them and I could only amount to so much by myself right? Additions of contributors and having the entire process of development and contribution documented can help these ideas grow and potentially achieve great quality.

@t0xic0der wrote…
to make everyone feel like the project is from the community, by the community and for the community but I think that somehow I was not able to make that happen due to which even after five months, it's just me and some folks from outside of the community who are contributing to it.

I understand this. It is hard work! Some people in the industry get paid full-time to do exactly this kind of work. Don't be too hard on yourself especially when you are doing it as a volunteer.

@t0xic0der wrote…
I am totally interested to help launch a SIG for Web Application development and make these projects be a part of it - and in the process, gain contributors and keep the project idea from being killed off due to inactivity and the loss of interest in the due course of time. If I get busy in some time - may be due to my $dayjob or $basketball, I earnestly want the development to be picked up by other folks and make sure that the project ends up being of use to the community - because that's what I think is important for a project, right?

I believe a SIG is the right entrypoint for this work. We can work on building up a community of Open Source web developers, because we get a lot of those people looking to contribute to Fedora Projects. And we have a hard time directing them to the right place! So, a Fedora Web SIG could fill this gap.

I think I know where we can take this discussion now. I suggest blowing the dust off the CommOps Pagure issue tracker and opening a new issue about getting support to launch a new Fedora SIG:

https://pagure.io/fedora-commops/issues

Things haven't been active there lately, but with the Community Outreach Revamp Objective, I think the new emphasis on CommOps is good timing to open this issue there.

I understand this. It is hard work! Some people in the industry get paid full-time to do exactly this kind of work. Don't be too hard on yourself especially when you are doing it as a volunteer.

Thanks, @jflory7.

I believe a SIG is the right entrypoint for this work. We can work on building up a community of Open Source web developers, because we get a lot of those people looking to contribute to Fedora Projects. And we have a hard time directing them to the right place! So, a Fedora Web SIG could fill this gap.

That is true. I have had folks entering Join SIG and telling that they are well acquainted with web technologies but they are not quite sure where to begin with - to which I either give them some issues (that I have been scrounging for myself) to work on if they are eager to get started quick or ask them to first explore Fedora as a community before jumping into tasks. The "scrounging" thing is the keypoint here for I am afraid there are a few to none dedicated places where folks could get to know more about such projects and get started with contributing to them.

I think I know where we can take this discussion now. I suggest blowing the dust off the CommOps Pagure issue tracker and opening a new issue about getting support to launch a new Fedora SIG:

https://pagure.io/fedora-commops/issues

You know what? I'm gonna head there right away and file a ticket to discuss this. I am willing to take the front-seat on this one as well if it is needed for I want to point the enthusiastic newcomers to the right place whenever they come if they want to get started with development.

Things haven't been active there lately, but with the Community Outreach Revamp Objective, I think the new emphasis on CommOps is good timing to open this issue there.

I have heard a lot about it in the community discussions and even in FOSDEM but I am yet to read and know about it first hand due to the fact that I was so pinned down in making these two projects and refining them.

Closing this to avoid confusion
All the best with new sig :)
Looking forward to its success

Metadata Update from @siddharthvipul1:
- Issue status updated to: Closed (was: Open)

3 years ago

Closing this to avoid confusion
All the best with new sig :)
Looking forward to its success

Thank you @siddharthvipul1. :smile:

Login to comment on this ticket.

Metadata
Attachments 4
GIF
Attached 3 years ago View Comment