New GitHub organizations for uPortal
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
Currently, uPortal and some related Git repositories are in the Jasig GitHub organization.
- 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-Project
proper.
Re-implement 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.)
to uPortal-Project
Maybe these existing Jasig repositories would come into uPortal-Project
.
uPortal itself:
Supporting services:
Portlets:
- 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:
to uPortal-contrib
Portlets:
- BlackboardVCPortlet
- CampusLifePortlets
- cas-proxy-test-portlet
- ClassifiedsPortlet (incubating portlet)
- ContactsPortlet
- ContentManagementPortlet
- CoursesPortlet (incubating portlet)
- EsupTwitter
- ExchangePortlet
- FeedbackPortlet
- FunctionalTestsPortlet
- hrs-portlets (unsuccessfully incubated)
- MapPortlet
- SurveyPortlet (incubating portlet)
Supporting software libraries:
Mobile app uPortal clients:
Maven archetypes:
Other repos?
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 Apereo
organization.
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.
Peer examples
The Sakai Project uses a SakaiProject organization and a SakaiContrib organization.
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.