GitHub - elichad/software-twilight: Software end of project plans Skip to content Sign up Sign up Why GitHub? Features → Mobile → Actions → Codespaces → Packages → Security → Code review → Project management → Integrations → GitHub Sponsors → Customer stories→ Team Enterprise Explore Explore GitHub → Learn and contribute Topics → Collections → Trending → Learning Lab → Open source guides → Connect with others The ReadME Project → Events → Community forum → GitHub Education → GitHub Stars program → Marketplace Pricing Plans → Compare plans → Contact Sales → Education → In this repository All GitHub ↵ Jump to ↵ No suggested jump to results In this repository All GitHub ↵ Jump to ↵ In this user All GitHub ↵ Jump to ↵ In this repository All GitHub ↵ Jump to ↵ Sign in Sign up Sign up {{ message }} elichad / software-twilight Notifications Star 0 Fork 0 Software end of project plans View license 0 stars 0 forks Star Notifications Code Issues 2 Pull requests 0 Actions Projects 0 Security Insights More Code Issues Pull requests Actions Projects Security Insights main Switch branches/tags Branches Tags Nothing to show {{ refName }} default View all branches Nothing to show {{ refName }} default View all tags 8 branches 0 tags Go to file Code Clone HTTPS GitHub CLI Use Git or checkout with SVN using the web URL. Work fast with our official CLI. Learn more. Open with GitHub Desktop Download ZIP Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Go back Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Go back Launching Xcode If nothing happens, download Xcode and try again. Go back Launching Visual Studio If nothing happens, download the GitHub extension for Visual Studio and try again. Go back Latest commit   Git stats 51 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time __pycache__     .replit     CODEofCONDUCT.md     CONTRIBUTING.md     LICENSE.md     README.md     backend.py     decisions.py     environment.yml     index.ipynb     questionnaire.md     test_data.py     twilight_date_example.svg     twilight_plan_example.svg     View code software-twilight License Introduction Available badges Question themes Running Design Question format Customization of UI Further resources Known issues README.md This work is licensed under a Creative Commons Attribution 4.0 International License. software-twilight Software end of project plans License This project is licensed under the CC-BY license. You are free to: Share — copy and redistribute the material in any medium or format Adapt — remix, transform, and build upon the material for any purpose, even commercially. The licensor cannot revoke these freedoms as long as you follow the license terms. The full text of the license can be found here. Introduction Development of software under a fixed-term project should consider several aspects of ongoing support after the project's end. There are two main eventualities: the software's development abruptly ends; there is some end-user support, although there will be no new feature development. Each of these presents a problem. Ending support reduces the sustainability of the environment, while ongoing maintenance requires the dedication of further resources. Under the software twilight plan, the project's developer will be aware of necessary considerations. This repository is intended to be used to assess and guide a project maintainer in plans for the software's end of life. We provide a tool to be used, during the active development phase, by a project maintainer to assess and certify support plans for the project once it will no longer be actively developed. On completion of a short questionnaire the user is offered a badge to add to the repository to signal to the community when, and how, the software will go gentle into its good night. Available badges We have two badges, as examples, which look look like and mean the following: - we have a (good) plan - twilight is coming up at the specified time Question themes The tool covers a number of themes, including: potential funding for ongoing development required levels of future support deployment infrastructure required size of user community size of maintainer group status of ongoing contact with main developer(s)/development group Running Design The tool is designed in three parts: The front-end is designed with Jupyer Notebooks. It uses Jupyter Widgets, appmode package and mybinder.org to display automatically the notebook cells as a web app. The questions and answers are populated by the backend, that provides the appropriate next question based on the answer to the previous one, following a decision tree, until there are no more (relevant) questions to ask. Finally, all the answers are processed and one or more badges informing on the end-of-life status of the project are provided in the form of markdown text. A summary of the answers is also provided. This text can be easily pasted into the project README file. Question format The decision tree is populated from the file decisions.py. This file has quite customizable entries in the format described below. This is initially represented by a serialized Python dictionary. We have a Python object Question which has attributes for the question text and a dictionary for the answers (and links to each answer's follow-up question). Our input file is like: decision_tree = { 1: Question("Is this a question?", {"Yes": 2, "No", 3}), 2: Question("Is it a good question?", {"Yes": None, "No", 3}), 3: Question("Really!?", {"Yes": None, "No": None}) } decision_tree is an object with (contiguous, [1,n]?) numeric identifier and a Question object with question text and answer dictionary. The answer dictionary keys are answer text (diplayed) and the value the link to the question to follow. None is used to indicate that a decision will be reached with this answer. In this prototype there is no full decision tree. We indicate the path to follow by placing non-supported answers in parentheses. Customization of UI If the UI can be readily customized, we describe here that. Further resources Here we list related resources which may be of interest to the developer of a sustainable project. FAIRness, etc. Known issues This is a proof of concept. It is far from complete. We have a desire that the following features be implemented: Improved decision tree input (not deserialization) Complete decision tree Final badge choice and design About Software end of project plans Resources Readme License View license Releases No releases published Packages 0 No packages published Contributors 5 Languages Jupyter Notebook 56.1% Python 43.9% © 2021 GitHub, Inc. Terms Privacy Security Status Docs Contact GitHub Pricing API Training Blog About You can’t perform that action at this time. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.