Development Plan
SSC-NG is being built in five tasks, executed over a roughly three-year timeline, coordinated by a Preliminary Governing Council (PGC — see Governance).
Task 1: Coordination and Governance
Convene the PGC — senior and junior contributors from the current SSC community, members with experience from other statistical-software community projects, and international members, including the current SSC maintainer. The PGC will:
- Define the future governance of contributions to SSC, in collaboration with current coordinators and stakeholders.
- Define a software architecture that enables easier contributions, updated to modern practices.
- Update software tooling to leverage the new architecture and versioning.
- Improve dependency management and automated metadata checking.
- Produce a white paper and a Stata Journal article about the new architecture.
- Convene a working meeting at the annual Stata conference (or a mutually convenient conference) to finalize governance with community participation.
- Define a successor, self-perpetuating council within the first year.
Task 2: Design SSC-NG
Design a system that supports both email submission (for legacy users) and a web-based submission system that enables automation, with authentication of contributors and protection against spam or spurious submissions. Key elements planned for the first year:
- General web hosts and email addresses not tied to a single person or institution, redirecting transparently to existing mechanisms at first, then transitioning to new ones.
- Automated checks and tests, starting with simple checks (e.g., no collisions with existing function names), run across multiple Stata versions, with unit tests and sample run code added over time.
- arXiv-style moderation, where volunteer subject-matter specialists approve in-scope submissions without vetting utility or correctness.
- Julia-style register, using pull requests against a central, GitHub-hosted catalog to build the physical SSC package repository, while remaining backward-compatible with current installation methods.
- Interim infrastructure: centrally hosted Git repositories within a new GitHub organization for authors without their own repository, wound down later for actively maintained packages but preserved for unmaintained ones.
- Fully redundant hosting: because Stata packages are lightweight, a complete copy of the SSC catalog can be taken into physical custody rather than relying on links to author-controlled repositories that may disappear.
- Improved preservation: regular snapshots (e.g., monthly full and daily incremental) pushed to a trusted archive with an API, such as Zenodo or a Dataverse instance, with tooling to “re-hydrate” the archive.
- Date-based preservation, similar to CRAN’s archival function and the date-based functionality of the (now defunct) MRAN / the current Posit Package Manager.
- Compliance with existing infrastructure: continued indexing in
RePEc, continued functioning of
ssccountandssc hot, and a smooth transition worked out with Stata, Boston College, and RePEc maintainers.
Task 3: Community Input
Before enhancing SSC-NG further, gather input from the Stata user community through one or more of:
- An open working group at Stata and/or disciplinary conferences.
- Articles submitted to relevant academic publications (e.g., Stata Journal).
- Open fora on the Stata discussion list.
- A survey of past SSC contributors.
- A survey of current Stata customers (with Stata’s assistance).
Students assist with developing and analyzing the survey.
Task 4: Enhance the SSC-NG Repository
Building on Task 2 and informed by Task 3, make the submission system more scalable, efficient, and automated:
- Streamlined submissions: a website for developers without a GitHub- or GitLab-based repository, and a submission bot for those who have one.
- Reputation-based automatic acceptance / sponsored initial acceptance, tested and implemented along the lines of the Julia registry, informed by approaches such as pyOpenSci and rOpenSci.
- Version-based preservation, adding checks that warn submitters when metadata such as a version number is absent or inconsistent.
- Tutorials for developers: a package template with step-by-step guidance on creating, testing, and submitting packages, with an emphasis on automated submission.
- Dependency constraints: robust dependency declarations published as part of RePEc, and new functionality within package installation commands to actually enforce declared dependencies.
- Central documentation for all packages: parsing the full SSC archive and generating consistent HTML help pages, incorporating richer author-maintained documentation where it exists.
- Improved citability of packages: a new metadata standard for self-citation of Stata packages, and a Stata package that makes it easy to cite other packages.
Task 5: Persistent Non-Profit Support Structure
In parallel with Task 4, define and implement a persistent non-profit support structure, along one of two paths:
- A 501(c)(3)-compliant charitable organization as a formal LLC or corporation, or
- Association with a fiscal sponsor that is itself a 501(c)(3)-compliant non-profit, such as Software in the Public Interest (SPI) or Open Source Collective (OSC).
In either case, the PGC’s role is to define bylaws and a business model, and to hand over a functioning entity to the successor non-profit organization.
Timeline
Year 1:
- Convene the PGC and establish the governance structure (Task 1).
- Design SSC-NG’s architecture and implement core features (Task 2).
- Deploy an initial version with date-based archiving and automated checks.
- Gather community input through surveys and workshops (Task 3).
- Milestone: first SSC-NG release with backward compatibility.
Year 2:
- Implement enhanced features, including version-based preservation (Task 4).
- Develop the streamlined submission system and web interface.
- Create central documentation.
- Develop tutorials and onboarding materials for contributors.
- Begin work on the non-profit organizational structure (Task 5).
- Milestone: fully functional SSC-NG with enhanced features.
Year 3:
- Finalize the non-profit structure (Task 5).
- Complete the transition of governance to the successor organization.
- Publish a white paper and a Stata Journal article on SSC-NG.
- Milestone: self-sustaining organization operational.
The PGC plans to meet with the community at the Stata conference near the end of Task 2 to gather input and discuss next steps. Year 3 is planned, but may conclude early depending on how quickly Task 5 succeeds.