In which I articulate a path forward for migrating uPortal GitHub repositories out of the legacy "Jasig" organization and into new organizations.
Problem to be solved
- Jasig is a deprecated brand, with Apereo its successor.
- It's unclear which repos in the Jasig GitHub organization are uPortal-related and how strongly. Non-uPortal-related repositories are also in the Jasig GitHub organization.
Proposed path forward
Birth two new GitHub organizations.
uPortal-Project would model repositories that are really part of the uPortal project. The core, if you will. The things that uPortal as a project is committed to steering, evolving, maintaining, or at least thoughtfully deprecating and retiring when the time comes.
uPortal-contrib would model repositories that are more fringe. They're not "really" part of the uPortal project. There's less commitment to steer, evolve, maintain these.
uPortal-contrib also would offer a path for new projects to come in and if desired and appropriate eventually promote into
uPortal Committers GitHub Team in the new organizations, and other
Committers teams as appropriate.
Once the organization namespace is specific to uPortal, consider opportunities to birth new or refactor into more repositories to better organize the code, better factor dependencies and APIs and touch points between modules. Use the GitHub organizations to model and grow the ecosystem of software modules associated with uPortal.
Migration for existing repositories
Move the uPortal-related
Jasig repositories over into the new organization.
Here's an illustrative stab at what would land where. (This is not dispositive - you might take issue with some of these judgment calls, and should. Those tradeoffs will have to work out in the course of executing the migration.)
- AnnouncementsPortlet (sponsored portlet)
- basiclti-portlet (sponsored portlet)
- BookmarksPortlet (sponsored portlet)
- CalendarPortlet (sponsored portlet)
- email-preview (sponsored portlet)
- JasigWidgetPortlets (sponsored portlet)
- NewsReaderPortlet (sponsored portlet)
- NotificationPortlet (sponsored portlet)
- sakai-connector-portlet (sponsored portlet)
- WeatherPortlet (sponsored portlet)
- WebProxyPortlet (sponsored portlet)
Development, operations tools:
- ClassifiedsPortlet (incubating portlet)
- CoursesPortlet (incubating portlet)
- hrs-portlets (unsuccessfully incubated)
- SurveyPortlet (incubating portlet)
Supporting software libraries:
Mobile app uPortal clients:
There are quite a few more repos in the Jasig organization, arguably enough a part of the uPortal ecosystem that they ought to migrate. Figure go after that fringe migration after successfully migrating more of the unambiguously uPortal-flavored repositories.
In navigating the tradeoffs, these might migrate into a
uPortal GitHub organization, or they might migrate into the general
What is not being proposed
These are GitHub organizations, a structural unit in the GitHub SaaS social coding tool. These aren't legal organizations. This isn't a matter of uPortal not being part of the Apereo legal, social, cultural organization. This is a matter of uPortal having a clear bucket in which to put its Git repos.
The Karuta Project uses a GitHub organization.
Why not status quo (Jasig organization)?
The Jasig brand is deprecated.
The Jasig GitHub organization has 61 repositories as of this writing, only some of which have to do with uPortal. uPortal repositories mixed among these other repositories makes for noise and confusion.
Why not Apereo GitHub organization?
The Apereo GitHub organization misses an opportunity to provide a uPortal namespace in GitHub, to organize core uPortal repositories together and thereby reduce the downsides in much-needed refactoring towards more git repositories with tighter individual scope.
Post image credit
Post image copyright 2016 All Rights Reserved, drawn from the author's personal photo collection.
In the image, my son Sam is pouring water from one cup to another.
In this work, the uPortal project will be pouring Git repositories from one GitHub organization to another.
In both pourings, there's potential for spilling, for mess, and for the joy in doing.