-
-
Notifications
You must be signed in to change notification settings - Fork 273
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
Playing for Team Human: Celluloid 0.50.0 #795
Comments
@emesepadanyi and @harsh183 I reframed the project a bit differently than mentioned in
Thank you to @emesepadanyi for the insightful question which prompted this, paraphrased:
So much of F/OSS is the art of figuring out what the hell is going on in a repository. And life is about going through galaxies of repositories, remembering that one object you created a year ago and bringing it back in the next project; in general, moving through entire universes of code easily. Your challenge, is to do that in order to come through the front door into this year's program. |
By the way, as far as how the overall project could break down:
|
Also I setup a |
Per @emesepadanyi question: The Also her idea of writing documentation using the reference implementation as the example code is the best way here. I would add that a screencast of demonstrations would be phenomenal. |
If the |
Replaces #789 with overarching reboot, framed as
GSoC 2020
challenge:Top Priorities
End Gempocalypse
: Do analysis of all gems and repositories, and propose the minimal number they can be condensed down to. This is a judgement call, like the call made to originally split them. That decision was under pressure at the time, like you will be too. Ideally, we can delete several repositories, not even just archive them. People can be asked to change their dependencies and continue to use< 0.50.0
with breaking changes declared.Rails
would eventually change their implementations, and a ticket addressing each downstream gem ought to be opened to anticipate the problems they will have, potentially calling out specific places whereCelluloid
is used.Crash-Test Dummy
and Documentation by Example: A reference implementation ought to be written to demonstrate all supported functionality; this proves0.50.0
is battle-ready, and avoids a ton of downstream grief. Plus it teaches people whyCelluloid
is a serious source of Power when we need systems much faster, and these systems need to be ridiculously industrial-strength.Test Suite
We do not really trust the test suite. It's in the back of our minds that it's not really telling us whether releases are viable, due to race conditions, a patchwork of different styles, and missing units. Overall, this could be a project in and of itself, if we did0.50.0
by TDD, and treatedCelluloid
like a re-write rather than a refactor. I would hear a proposal for either case. But I would also expect the TDD example to be "mostly there" in replacing the current gem.Roadmap
and Standardized API and Behaviors: The problem is not thatCelluloid
isn't working, it's that it hasn't been maintained in a while, so long the world stopped crying out for help withCelluloid
issues. What caused the problem ( leading to it going unmaintained ) was that changes in0.17.*
introduced a lot of breaking changes, differences in convention, and destabilized a lot else in the process. The community didn't switch gears, because there wasn't enough put into warning everyone, providing examples, and generally being a good master of ceremonies for the movement ofCelluloid
. My bad. We need a more deliberate roadmap. When I stopped maintainingCelluloid
it was because more issues were coming in than justified even reacting to them any more, while also working to applyCelluloid
in business and academic cases in the field.Visual models of all existing and future object changes; graphically represent the design.
Challenges
help the world understand whyCelluloid
matters right now more than ever:The text was updated successfully, but these errors were encountered: