Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kick-off discussion #1

Closed
sebakerckhof opened this issue Mar 7, 2019 · 73 comments
Closed

Kick-off discussion #1

sebakerckhof opened this issue Mar 7, 2019 · 73 comments

Comments

@sebakerckhof
Copy link

Idea
As per one of @KoenLav 's suggestions here it might make sense to have a community organization with package repositories that can easily be picked up by other maintainers if somebody leaves Meteor.

It should also give clarity to package users where to get the package from instead having to investigate multiple different forks of a package.

Ideally we move our commonly used packages, publish them to atmosphere with a meteor group account (e.g. mcp:my-package where mcp would stand for meteor community packages, other suggestions wanted!) and update the meteor guide accordingly.

Organization
I do not have the ambition nor the time to be a community leader here, and from what I understood nobody else seems to have time to volunteer so I hope this can be a somewhat self-organizing thing where everybody has admin rights?

I just added, on top of my head, a couple of people that have recently been involved with forking/maintaining packages which are not bound to a business entity (since those will likely not be moved here). But of course everybody is welcome to join.

This post can act to offload this part of the discussion from meteor/meteor#10477 and get ideas around the best way to organize this.

@sebakerckhof sebakerckhof pinned this issue Mar 7, 2019
@sebakerckhof
Copy link
Author

Btw, the meteor-community-packages organization seems to already exist, but without any members. So I took meteor-userland as per the electron-userland organization

@copleykj
Copy link
Member

copleykj commented Mar 7, 2019

I'm the owner of both the communitypackages org for Meteor and and meteor-community-packages on GitHub.

Feel free to get in touch so we can move forward with moving important packages under community maintenance.

@StorytellerCZ and I have some effort into this already.

@distalx
Copy link
Member

distalx commented Mar 8, 2019

Hello!

I like the mcp namespace for community packages. also I'd like if we can can make it shorter as mc. I know this thread is more regarding maintaining packages. but I'd like to see following things/suggestions are being discussed here. because I believe it might bring more engagement from community.

  • Survey: Create a survey and gather information like following things.

    • What are few packages that are in dire need of an upgrade?
    • What are packages are locally fork and currently being used but haven't been re-published because of maintenance obligation?
    • What are the things or misconceptions about Meteor in the market that makes people pass on a Meteor while choosing their next stack?
  • 📖 Cookbook: People have shared patterns, tricks either in form of Articles or on Meteor-forum. These gems are kind of opinionated and problem specific. If we start putting it all together as a community we might start coming-up with standards. (Meteor Guide is awesome ❤️).

  • 💵 Sustainability: Figure out a way to provide a financial incentive to pay maintainers or set bounties for new features. (I've seen community did similar thing with meteor-up and other community like WebPack is also have OpenCollective).

  • 📰 Newsletter: To keep people informed about what is happening!. (I'm interested in volunteering for this)

  • 👥 Monthly Hangout Or Remote Meetup: I've seen this happening in go-lang community.it brings engagement into community.

  • 🎧 Podcast: A mini podcast series, where various individuals exchange/share their personal experience/journey with meteor. it doesn't have to follow any particular format just, it could be just like two people having a conversation over a coffee. (This one is my favorite, I'd like to host these type of conversation if anybody would like to join me.)

  • 🎯 Mission Statement: So we know when we diverge from our path.

  • 📄 CoC: Every organization should have one. we could adopt what the current CoC from Meteor.

@coagmano
Copy link
Member

coagmano commented Mar 8, 2019

Count me in!

Yeah I think the leaderless everyone-has-admin style is probably the way to go. Not great security but should be okay.
Also like the survey plan for identifying packages that should be ported.

@mrmowgli
Copy link

mrmowgli commented Mar 8, 2019

It would be great if the community did more articles on Medium as well.

@StorytellerCZ
Copy link
Member

Let's start with merging this with (one way or the other): https://github.com/Meteor-Community-Packages
There already is an organization setup on Atmosphere for this as well: https://atmospherejs.com/communitypackages

@StorytellerCZ
Copy link
Member

StorytellerCZ commented Mar 8, 2019

@distalx
Great summary, my thoughts:

  • Survey - sounds great, I'll see if I can figure out something simple over the weekend
  • Cookbook - I think we should probably focus that effort into Meteor Guide (maybe create a new section there), so that everything is in one place. Cookbook for packages that will be maintained by community could probably be there as well or if we have to have our own it would be nice if the search was interconnected (as it is right now between docs and guide).
  • Sustainability - Would love to see more of this.
  • Newsletter - I could help with this
  • Monthly Hangout Or Remote Meetup - I'm in.
  • Podcast - Would be interested in helping out.
  • Mission Statement - To provide a way to keep updating Meteor packages even after the initial developer has moved on. (or something along the line)
  • CoC - Here you go: https://github.com/meteor/meteor/blob/devel/CODE_OF_CONDUCT.md

We can later implement more stuff from: https://opensource.guide/

I would like to add:

  • United documentation & workflow - every package here should have the same process of getting things published, etc. Documentation should be either in the Meteor Guide, or we should have a united documentation for all packages in one place that should be extensible so that other major projects like socialize could be added as well.

@mitar
Copy link
Member

mitar commented Mar 8, 2019

I like this idea. It was done for Trac Hacks and I think it saved many useful plugins there. I have made few in the past but then stopped using Trac, but because we moved all under same GitHub organization, others were able to step up and help.

@sebakerckhof
Copy link
Author

@copleykj @StorytellerCZ Ok, didn't know you guys were the people behind https://github.com/Meteor-Community-Packages . It'd be happy to close this organization and continue with that one. Is there a way to move this discussion over there?

@distalx Some great ideas, although I'd personally start of a little less ambitious. Committing to all those things might easily start to feel like a drag. But of course, if people find the time and motivation to do podcasts etc, even better.

@StorytellerCZ
Copy link
Member

@sebakerckhof We could move this repo there and that will take care of everything.

@KoenLav
Copy link

KoenLav commented Mar 8, 2019

Great to see this is bringing people together!

I think admin everyone is fine for now.

Should the group get bigger we might want to reconsider.

@StorytellerCZ
Copy link
Member

OK, all started working on the survey, please check and feel free to edit: https://docs.google.com/forms/d/1xIsp4Ye4IF12oED_rU5m_cXzYOmEutFan1ERCMb7LE0/edit

@sebakerckhof
Copy link
Author

@StorytellerCZ I made you owner of this organization, so you should be able to move the repo.

Some packages I could bring over:
Created by me:
https://github.com/sebakerckhof/meteor-minifiers-autoprefix
https://github.com/sebakerckhof/stratosphere
https://github.com/sebakerckhof/meteor-method-hooks

Maintained by me:
https://github.com/fourseven/meteor-scss
https://github.com/versolearning/find-from-publication/
https://github.com/Urigo/meteor-static-templates

No longer maintained, but I have open PR's / improvements:
https://github.com/sebakerckhof/eslint-import-resolver-meteor
https://github.com/matb33/meteor-collection-hooks

Then there's some MDG packages which are not really looked after by MDG anymore (simple:rest, mdg:validated-method etc)

@mrmowgli
Copy link

mrmowgli commented Mar 9, 2019 via email

@StorytellerCZ
Copy link
Member

@sebakerckhof Moved and started to invite everyone.

@SimonSimCity
Copy link
Member

@StorytellerCZ Just an idea to the questionare: Maybe add a field where users can write a list of packages they published where they feel should go into this organization.

I have forked some and am unsure if they should go in here. One of them is https://github.com/SimonSimCity/meteor-job-collection where the community doesn't seem to have a clear guideline which way to go: https://forums.meteor.com/t/jobs-worker-in-meteor-steve-jobs-vs-meteor-jobs-vs-meteor-workers-vs-synced-cron/44578

Another one is https://github.com/meteortesting/meteor-mocha which currently is part of a meteor community organization where I'm glad that I got the permission to share the work I see a need for. Maybe @aldeed - as the owner of the organization - should be the one proposing this step if he sees it as the way to go ...

Here's my list:

Created by me:
https://github.com/SimonSimCity/meteor-client-session-timeout
https://github.com/SimonSimCity/bitbucket-meteor-headless-browsers

Maintained by me:
https://github.com/Urigo/meteor-static-templates
https://github.com/vsivsi/meteor-job-collection

No longer maintained (or no answer within at least 1 month), but I have open PR's / improvements:
https://github.com/alanning/meteor-roles (see Meteor-Community-Packages/meteor-roles#270 (comment))
https://github.com/rclai/meteor-collection-extensions
https://github.com/nicklozon/meteor-collection-revisions
https://github.com/mikowals/batch-insert
https://github.com/monbro/meteor-mongodb-mapreduce-aggregation

There are others which I also have open PRs on, but I consider swapping them out in the foreseeable future. One of them is https://github.com/Urigo/angular-meteor (AngularJS branch).

@SimonSimCity
Copy link
Member

SimonSimCity commented Mar 10, 2019

Another purpose of this group could also be to define best practices, together with MDG, and writing them down in the Meteor guide. The community should have a word in when deciding which packages are the most useful and most beneficial in the long term.

As I showed in my previous post at the example of job-collection, the choice of packages sometimes is quite diverse. If we would settle on a distinct choice, the main stream of the community could stay focussed. I'm not biased for job-collection in any way other than that the community isn't moving in any direction, and I don't see a need to change yet.

Sometimes it's also important to have an opinionated lead, having an idea of where the project should be heading, which I am not, in terms of job-collection.

Now - if packages would be moved here - what would we ensure? Nothing, right? We would only make it easier to keep them compatible with future Meteor versions and to send in improvements - but not ensure in any way the development which might be necessary to keep the package of question valuable. I just wanted to say this out - not that anyone comes here with false expectations.

@jankapunkt
Copy link
Member

jankapunkt commented Mar 10, 2019

Kadira/flowrouter and related should be forked if he is up to it

Flow router has been forked for example to ostrio:flow-router-extra which also decoupled it from kadira:blaze-layout. Great stable package with nice features. See here: https://github.com/VeliovGroup/flow-router

@jankapunkt
Copy link
Member

I also like to add, that there are packages, that have been dropped in favor of using the NPM packages but are still in heavy use on atmosphere and are already a potential security risk.

Best example is Bootstrap, which is on atmosphere at 3.3.6 and where already some vulnerabilities have been reported and faced with fixes (but just for the NPM package and not on atmosphere).

To have a working / stable Bootstrap 3 and Bootstrap 4 package on atmosphere (which is hopefully mostly version bumping) would at least make sense from the perspective of it's massive usage.

@sebakerckhof
Copy link
Author

@SimonSimCity Moving packages here indeed doesn't ensure they will get attention. However, it's about ensuring that if there are new people that want to give them attention, that they can pick up development where someone else left off without having to fork & republish the package (like you had to do with meteor-job-collection ). It makes the life easier for both package developers and users of those packages.

@aldeed
Copy link

aldeed commented Mar 11, 2019

Thanks for getting this started. I definitely have a few Meteor packages that I don't have much time for anymore. Happy to transfer them.

I do think there should be some minimal process around adding new admins. There have been some big vulnerabilities introduced by random people pretending to be interested in maintaining packages. If there's an easy way to require a few current admins to approve each new admin, that might be enough. There can be org-wide checks before PRs are merged, but that isn't truly secure if everyone is an admin who can disable them.

I also own meteortesting org, which could be combined with this org as far as I'm concerned.

Can the first order of business be a README PR in this repo, to document the process by which people and packages get accepted / added / transferred to this org? Maybe naming conventions, transition process, expectations, etc. This isn't the first attempt at doing this and I think the previous attempts have suffered from a lack of documented process. @sebakerckhof Can you commit a first draft and then everyone can leave comments on the PR until there's agreement on the process and rules?

@yorrd
Copy link

yorrd commented Mar 11, 2019

I'm kinda unsure if this project solves the concerns I have with the current state of Meteor (certainty in long term goals mostly). That being said, we want to support everything that highlights how active this community is. So, consider https://github.com/Adornis/typescript a part of this.

@coagmano
Copy link
Member

coagmano commented Mar 11, 2019

Yes, this is certainly only half the picture with not much heard from MDG about their half yet.

If there was a push for a community fork later on, I imagine this organisation could serve as the foundation of that. As it stands, it doesn't feel like there's much appetite to take on a task that large right now.

Either way, this should help to address the issues Meteor has been facing on the community side of things.

Speaking of packages, I'm happy to move coagmano:stylus into this and continue to maintain it.

@mitar
Copy link
Member

mitar commented Mar 11, 2019

I am currently not as active anymore with my packages, so if anyone would like any of my packages moved here, I am open to that as well.

BTW, should we also move Blaze here? Or, more generally: Blaze would also need some maintainers. :-)

@SimonSimCity
Copy link
Member

@mitar which packages would this be? I've seen you've done quite much for meteor-roles, and I'd pick this up if you or @aldeed don't have the time for it anymore.

If we move the packages on Atmosphere, we should maybe ask the maintainers to release a bugfix version having some code like:

if (Meteor.isDevelopment) {
  console.warn('<OldPackageName> has been discontinued, please use the latest version of <NewPackageName> package instead')
}

Or does atmosphere support deprecating packages and adding a message? I particularly like this feature on NPM though ... Sometimes it shouldn't be needed to change the namespace of the package at all, then I'd just set up an auto-publish script which publishes the latest version according to git-flow.

One thing that I'm still wondering about is ... how should we determine the responsibility of projects? And I guess this is exactly what @aldeed is pointing at. People are not always as responsible as we might think. I know we all want to maintain a welcoming community, and we have a sense of care for the projects we work on (at least I hope you share my passion ...), and I've also read the article where the author was giving people permission to push their PRs in themselves which made them commit better PRs, keeping the tests and docs updated themselves and creating a sense of care for the project, but I wonder if it not also can go down the other side, where you have people who just want to get this "new feature" in and released without actually caring that they break tests or that it might need some fine-tuning to fit in together with the rest. There is a level of sensibility which should be build up before people should be given permission here - not at last because this community will contain a bunch of different types of repositories. They need to build up a level of trust to the community - in whatever scale we're going measure this.

Maybe it's good for packages that are out-of-sync and cannot be used as-is, but it might also be not the best choice if you're still active - I don't know. I don't want to go against anything of the movement here, but just shape your sensibility.

For projects like meteor-jobs, I'd give it on here, because I've done some work to make it work again with the latest version of Meteor, but I don't have any ambition to drive the workforce. It feels like the right place. The lead developer has officially left it, leave it here for people to pick it up again or at least to keep it compatible with future versions of Meteor.

Just some thoughts that are running through my head ...

I'll leave this now up to you, @sebakerckhof, to write a guideline of when packages should be linked to this group.

@jankapunkt
Copy link
Member

BTW, should we also move Blaze here? Or, more generally: Blaze would also need some maintainers. :-)

I regularly work with Blaze and I worked a bit in the Blaze code but have a hard time to get the whole architectural picture yet. IMO it would be great to have a rough architectural overview. I know this is quite a demand but in the end this would be the ultimate Benefit to keep Blaze alive and lower the threshold for contribution.

So I would definitely contribute to Blaze but I can't spend 2+ weeks just for understanding it's arch.

@StorytellerCZ
Copy link
Member

We moved in link-accounts. I suggest we used that repo as a testing ground to establish a process. The question is if we should establish a CI to publish new versions under existing namespace or move towards a new namespace.

So far I have invited to the organization people who have important contributions or own packages and expressed desire to transfer them over. Second people that I know from community AFK that I can vouch for. I do not plan to invite any more people until we establish things a bit more.

As for Blaze and Meteor Testing I think they should remain in their respectable organizations as not to make much noise, though we probably should interconnect.

I'll try to get a PR with readme asap.

@sebakerckhof
Copy link
Author

Thanks for the valuable feedback. In the meantime I started talking to some of the package creators of packages I currently maintain. This lead to some interesting insights and together with the feedback from here I'll start writing a draft to expand on the readme @StorytellerCZ started to propose a structure that hopefully strikes a good balance between individual flexibility / trust and protection from malicious users.

@copleykj
Copy link
Member

I think that for a package to be initially accepted under this org, it needs someone to volunteer to be it's primary maintainer, preferably someone who is either familiar with the codebase, or is willing to familiarize themselves with it.

@StorytellerCZ
Copy link
Member

Posted some intial results from the survey on the forums.

Please keep spreading the survey.

@StorytellerCZ
Copy link
Member

StorytellerCZ commented Apr 8, 2019

Results are in: https://docs.google.com/spreadsheets/d/1iFVCUdx1hjSSFcHT4Zpr5U72i3Op6bXxAMhSQHLagoA/edit?usp=sharing

I'm going to create a mailing list from the mails we've gotten. I think occasional newsletter when there is a new Meteor release or more things to send out will be the best (to prevent burnout from dedicated release schedule). I will take on this for now (I have a full Constant Contact account that we can use for now). If anyone wants to help, contact me.

Few things to note from the results:
We should look into Open Collective or something like that.
People are the most interested in a podcast, so let's figure it out @distalx

I'm currently writing an article with my thoughts on the results.

@zimme
Copy link
Member

zimme commented Apr 8, 2019

I'm sitting on the following meteor orgs that I'd be happy to release to you.

I'd be happy to add any deprecation notices to README's of my packages that you want to "take over".
As I don't use Meteor any more I don't have time to maintain any of it any longer.

@filipenevola
Copy link

filipenevola commented Apr 9, 2019

Hi, this organization will keep its scope only to Meteor community packages or can we also talk about Meteor code itself?

If here is only for packages stuff please mark as off-topic.

I think we could use this space here to also think on how we can help on Meteor core. Is there anyone with access to release a new Meteor version unless Ben? I don't think so.

If we can elect one or two members from the Community with right access to do this we could avoid a community fork and we could start to work on PRs directly on Meteor. Of course MDG needs to agree on that.

Right now even if we work really hard on a PR we have no guarantee that this PR is going to be released and when it is going to be released. If we make this happen (access to release) we could create an organized way to prioritize demands like Java (JCP) including main companies using Meteor and community in these decisions.

As 35.1% replied on the survey that they are willing to help with money (and only 8.8% said no) maybe we could have some members working on these demands and being paid for it.

Let me know what you think (moved to #3)

@StorytellerCZ
Copy link
Member

@filipenevola I think this would best be split into a new issue for better visibility.

@filipenevola
Copy link

ok @StorytellerCZ, done #3

@jankapunkt
Copy link
Member

I am not sure if I missed it by reading over but is there now a process or way on how to "apply" for providing packages? I would provide some packages which I also would keep maintained, mostly Blaze and AutoForm related stuff.

@StorytellerCZ
Copy link
Member

@jankapunkt Not yet. I will create an issue template (this weekend) so that we can start this.

@StorytellerCZ
Copy link
Member

StorytellerCZ commented Apr 16, 2019

Just published my take on the survey results: https://medium.com/@storyteller.of.dimensions/what-does-the-meteor-js-community-thinks-april-2019-5915c3a725cd

https://steemit.com/javascript/@storytellercz/what-does-the-meteor-js-community-thinks-april-2019

@StorytellerCZ
Copy link
Member

I've slowly started to separate the individual tasks into their separate issues to get things going. If you want to take something on, either create the issue or let me know and I will assign you.

@softwarerero
Copy link

I could not participate in the survey as I'm living behind a google blocking firewall but I like this initiative.

I will most likely have some free time next month and maybe I get an update of t9n out, I hope I can add some functionality like what Mozilla recently published with Fluent.

I also could contribute PRs with updates to packages that depend on t9n. For example meteor-useraccounts is about 20 versions behind, but here I'm not sure where to send my PR to, so it would be helpful to find a kind of official fork here.

@aldeed
Copy link

aldeed commented Jun 9, 2019

Is there continuing activity on this initiative?

@StorytellerCZ
Copy link
Member

@aldeed Yes, just recently I bough a domain and started a repository for website. Newsletter is ready to be send out with the next release of Meteor. We are experimenting with podcasts and other are coding from what I have seen. I have slowed down a bit as I'm in school to learn new language so I don't have as much time, but there is still progress.

@StorytellerCZ StorytellerCZ mentioned this issue Jul 21, 2019
@CaptainN
Copy link

CaptainN commented Sep 3, 2019

Hi! I'd like to help in some way with this. I've recently been updating a few plugins I use all the time, and have a few others I'd love to contribute.

@StorytellerCZ
Copy link
Member

@CaptainN Your efforts are very much appreciated. If you are interested in maintaining some package we can facilitate that. Beyond that what else do you have in mind. Help anywhere is much welcome.

@SimonSimCity
Copy link
Member

There was now a lot of talk for bringing plugins into this repo. @sebakerckhof what's the procedure for them? Should I just start moving them to this organisation? There are two issues with a vote to see the activity of these packages - but no decision. I neither know who should take it.

@evolross
Copy link

evolross commented Oct 3, 2019

How does everyone feel about iron:router https://github.com/iron-meteor/iron-router It's been abandoned. Older apps, like my own, still use it. Is the general concensus now to use the ostrio:flow-router-extra version of Flow Router? Newer users to Meteor are probably using Flow Router since it's what the current Meteor Guide recommends.

@StorytellerCZ
Copy link
Member

@evolross Yes, the consensus is on ostrio:flow-router-extra for Blaze apps. For other client frameworks the recommendation is to use their specific routers if available. We just need to push update of this into the guide.

@mrmowgli
Copy link

mrmowgli commented Oct 4, 2019 via email

@StorytellerCZ
Copy link
Member

@mrmowgli If you can find enough people willing to put the time into that, then sure. To start that discussion, please open an appropriate issue.

@Fen747
Copy link

Fen747 commented Oct 4, 2019

There is far too much other client framework specific router libs now, and the ostrio:flow-router-extra is the de facto recommended router for those for still want to stick with Blaze.

We have a limited pool of resources and should focus on the most relevant packages. Imho, iron-router is at the deep bottom in term of priority. We could work on packages that would provide better benefits for orders of magnitude more users, both current and future.

@KoenLav
Copy link

KoenLav commented Oct 4, 2019

While I agree we should try to migrate the community to more actively maintained packages, I don't think it should be an absolute requirement that packages under the MCP flag receive significant resources/focus.

If all we're doing is only transferring a package to the community, rather than an individual, it makes it less likely that the package will fall completely off the grid at some point.

If that is something we want (the package falling completely of the grid) then we will be in a better position to make that happen when it is transferred to the community as well.

So all in all I think migrating packages away from authors who aren't actively maintaining them anymore, or those who are looking to join MCP, is a good idea regardless of alternatives etc.

If enough people are invested in Iron Router I think we should transfer it.

@mitar
Copy link
Member

mitar commented Oct 4, 2019

I suggest you open an issue for the flow router and then we can see how many upvotes it gets.

@StorytellerCZ
Copy link
Member

This has gotten quiet long and I think we are now well kicked off. We also have Slack for further discussion. Hence I'm closing this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests