Skip to content
This repository has been archived by the owner on Jan 12, 2024. It is now read-only.

Help needed? #424

Closed
nebulon42 opened this issue Jan 14, 2016 · 15 comments
Closed

Help needed? #424

nebulon42 opened this issue Jan 14, 2016 · 15 comments
Labels

Comments

@nebulon42
Copy link
Collaborator

I noticed that there has not been much activity here recently. Ok, carto is a stable project, but I'm not sure how high on Mapbox' agenda carto still is (mapbox-gl has a lot more activity). Note that this is not intended to accuse somebody of not doing enough work. But I'd like to ask if the community could/should help in maintaining carto as there are still some things carto could benefit of, especially since Mapnik 3 has some new features.

cc @pnorman @yohanboniface @gravitystorm @math1985 @matkoniecz

@pnorman
Copy link
Contributor

pnorman commented Jan 14, 2016

cc @olt - as we're looking at both carto the program and CartoCSS the language

@tmcw
Copy link
Contributor

tmcw commented Jan 14, 2016

CartoCSS is fundamentally a language: there are many, many stylesheets written in CartoCSS in the wild, some in TileMill, some in Mapbox Studio, in CartoDB, or saved as files on people's computers, or on a server.

  • Changes to CartoCSS must be backwards-compatible
  • Additions to CartoCSS need to either pass through older versions, or be accompanied with a 'everyone upgrade' campaign, or have a migration tool, or be clearly part of a "CartoCSS 2.0" that's obviously incompatible

As with any other tool, community help is always appreciated; I still review & merge PRs, often, as long as they pass tests, maintain backwards-compatibility, and are roughly within the spirit of the project.

From my perspective, this being an open source project with an open process implies that community help is appreciated and accepted. Apparently this being under a 'company' organization implies that it's entirely the product of a regime or entirely paid work; in this case neither of those are true.

From the perspective of the Mapbox system, we continue to use CartoCSS to render server-served maps, and we still distribute TileMill & Mapbox Studio Classic. Future new-feature development on my paid time is entirely geared toward Mapbox Studio & Mapbox GL JS, because I strongly believe that these are the way forward and strongly believe that CartoCSS has some deep flaws that are corrected in those technologies. I say that being both one of the principal authors of CartoCSS as well as those systems.


That's just a longwinded "yes, please contribute!". A more clear "here's what would be useful" would be:

These are the hard tasks with lots of discussion that would have the biggest impact for CartoCSS itself. They are hard, but important, and not features, so they aren't what people have been PR'ing for, but it's what I wish they would.

Modernization tasks that are unticketed (things we would have done if we had written carto in 2016 not 2009)

  • mapnik 3 support
  • use browserify to bundle carto, correctly
  • add eslint to the testing process
  • swap underscore for lodash
  • modernize dependencies

@gravitystorm
Copy link
Contributor

I'm a bit concerned that there's a bottle neck in reviewing and/or merging PRs - for example, in openstreetmap-carto we were hit by #370 and the PR to fix it #393 has been waiting for over 7 months.

@nebulon42 originally asked here "But I'd like to ask if the community could/should help in maintaining carto" (emphasis added) - any thoughts for or against adding some non-mapbox contributors as committers / maintainers?

@tmcw
Copy link
Contributor

tmcw commented Feb 26, 2016

@gravitystorm you're right: let's start opening things up. Just gave you push access to CartoCSS!

@nebulon42
Copy link
Collaborator Author

@tmcw In that case I would like to request ask for push access too. I was thinking/working on improvements for some time now. In the meanwhile I created https://github.com/alacarto/alacarto, but I would deprecate that again in favour of this repository.

@tmcw
Copy link
Contributor

tmcw commented Feb 26, 2016

@nebulon42 done!

@nebulon42
Copy link
Collaborator Author

Thanks!

@matthijsmelissen
Copy link

Great development, thanks!

@nebulon42
Copy link
Collaborator Author

@tmcw What type of review model do you employ on this repo? I will add PRs for new things I'd like to patch in. How much time before merge? Should it be mandatory that PRs will be reviewed by others? Maybe you could list some short guidelines, you can also mail them to me privately (see adr in my profile). Thanks!

@springmeyer
Copy link

Anyone here that needs feedback from me please /cc @springmeyer. I'm swimming in notifications and at the moment am only able to track mentions. But I'm happy to see more contributors and keen to see Carto.js/CartoCSS stay stable and maintainable as bug fixes are needed.

@nebulon42
Copy link
Collaborator Author

I'd like to follow up on this after I have been trying to take care for Carto for some while. Thanks for trusting me with push access BTW. We got a 0.16 release out, which is good. There have been some regressions, for which I assume full responsibility even if my code was lacking reviews.

However, progress is difficult because I don't have the rights to release new versions on npm. I can understand that Carto has implications on other projects so some sort of control over the npm package is necessary. On the other hand, there is a fix available for some time for the (hopefully) last colour regression, which has never made it into a new bugfix release. For me the motivation of improving the code with no ability to release is quite low. Another problem is the dependency of mapnik-reference. Here e.g. changes for Browserify compatibility are waiting to be merged. Without them Browserify compatibility for Carto is impossible.

The question remains open if functionality like that is still necessary. Since "The end of CartoCSS" appeared on the Mapbox blog I consider CartoCSS officially abandoned by Mapbox. I will soon be moving towards vector tiles and in-browser rendering too. Is there still the need to invest time into CartoCSS? Does the OSM rendering ecosystem need improvements to CartoCSS?

@gravitystorm
Copy link
Contributor

Since CartoCSS is used by a much wider group than just Mapbox, it's only dead when the last person leaves and switches off the lights. I would encourage you to ignore the blog post and keep working on it, it's still used by thousands of people.

As for the releases, is it possible to give @nebulon42 npm release permissions for carto please?

@tmcw
Copy link
Contributor

tmcw commented Jun 20, 2016

@nebulon42 I've given you permission to publish Carto. mapnik-reference is within the Mapnik organization, and it's not something that I'd feel comfortable granting myself; that's up to the Mapnik team.

Re: releasing, feel free to do so but if there's a high chance of regression, please bump to 1.0.0 so that code using a semver ^ or ~ doesn't auto-upgrade anyone.

@springmeyer
Copy link

springmeyer commented Jun 20, 2016

Agree with @gravitystorm - as such I'm happy to grant npm release access to mapnik-reference as well: @nebulon42 I've done that now and the repo shows up at https://www.npmjs.com/~nebulon42. I've also added @tmcw's comment to the contributing to make sure we have a working doc on how to release that we can improve on in the future: https://github.com/mapbox/carto/blob/master/CONTRIBUTING.md#releasing

@nebulon42
Copy link
Collaborator Author

Thanks @tmcw and @springmeyer. I promise I'll be careful.

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

No branches or pull requests

6 participants