Jump to content

New BOSS projects: Difference between revisions

From Bath Wiki
Translate from boss.bathcs.com
 
restructure and fix links
Line 1: Line 1:
[[BOSS]] want to encourage all students to contribute to our organisation [https://github.bath.ac.uk/cs cs], either by improving our current systems or adding a project to the organisation, which then we can potentially host on the bathcs.com domain.
[[BOSS]] want to encourage all students to contribute to our [https://github.bath.ac.uk/cs Bath GitLab organisation], either by improving our current systems or adding a project to the organisation, which then we can potentially host on the bathcs.com domain.


== Mirroring ==
== Mirroring ==
Line 13: Line 13:
Please see [https://boss.bathcs.com/policies/licenses/|our license policy] for information on how our projects are licensed.
Please see [https://boss.bathcs.com/policies/licenses/|our license policy] for information on how our projects are licensed.


In general, new projects should be licensed under [https://spdx.org/licenses/LLVM-exception.html <code>Apache-2.0 WITH LLVM-Exception</code>], contributors must agree to the [https://developercertificate.org/ Developers Certificate of Origin (DCO)], and any contributions must not violate the [https://www.bath.ac.uk/publications/university-of-bath-ip-policy/ University of Bath’s Intellectual Property policy].
To summarise, new projects should be licensed under [https://spdx.org/licenses/LLVM-exception.html <code>Apache-2.0 WITH LLVM-Exception</code>], contributors must agree to the [https://developercertificate.org/ Developers Certificate of Origin (DCO)], and any contributions must not violate the [https://www.bath.ac.uk/publications/university-of-bath-ip-policy/ University of Bath’s Intellectual Property policy].


== Requirements ==
== Requirements ==


Due to most projects being tested by chaotic Computer Science students as well as hosted publicly, we have a high set of requirements for projects and things which need to be considered.
Due to most projects being tested by chaotic Computer Science students as well as hosted publicly, we have a strict set of requirements for projects and things which need to be considered.


More requirements are hidden within the pages in this wiki, so please make sure to read any relevant pages. Hopefully we have made this at least somewhat entertaining to read or at least easy to skim.
More requirements are hidden within the pages in this wiki, so please make sure to read any relevant pages. Hopefully we have made this at least somewhat entertaining to read or at least easy to skim.
Line 23: Line 23:
=== To consider ===
=== To consider ===


* Hand over procedure: Is there anything which cannot be handed over by our current procedures, if so how?
* Hand over procedure: Is there anything which cannot be handed over by our current procedures, if so how will we amend this?


=== Functional ===
=== Functional ===


* Include credits for who wrote it and contact details once you leave the University.
* All systems must comply with our [[BOSS data collection policy|data collection]] and [[BOSS security policy|security policies]].
* All systems must comply with our data collection + security policies (to be written)
* If an admin account is required for some parts, please use [[auth.bathcs.com]] to validate the user
* If an admin account is required for some parts, please use auth.bathcs.com to validate the user - documentation to be written :P
* Follow the design principles in [[BOSS/Design|our design page]]
* GitHub main branch should be protected (except on mirrors?)
* Follow the code guidelines in [[./languages/index.md|our code guidelines page]]
* Follow the design principles in [[./design.md|our design page]]
* Get someone to review your code (this helps with not having any security issues)
* All data input should be validated on the backend (not just the frontend)
* All data input should be validated on the backend (not just the frontend)
* Documentation should be included to setup a development environment as well as production


=== Non-functional ===
=== Non-functional ===


* Hosting needs to be free (we will not get any funding)
* Include credits for who wrote it and contact details once you leave the University.
* Hosting needs to be free, and preferably on-premises (we will not get any consistent funding)
* Webpages should be light and fast to load (so we support all type of devices)
* Webpages should be light and fast to load (so we support all type of devices)
* A webpage should work on mobile (because students are lazy).
* A webpage should work on mobile (because students are lazy).
* The main branch should be protected (except for mirrors)
* Get someone to review your code (this helps with not having any security issues)
* Code follows relevant [[Programming language guidelines]]
* Documentation should be included to setup a development environment as well as production

Revision as of 07:29, 26 August 2026

BOSS want to encourage all students to contribute to our Bath GitLab organisation, either by improving our current systems or adding a project to the organisation, which then we can potentially host on the bathcs.com domain.

Mirroring

Due to some projects’ complexity and the fact that original author may want to use their code to gain respect on GitHub or use it for jobs, we allow people to just mirror their project into the organisation.

However we do require the project to be stored in the organisation for maintainability and future reference.

If you are mirroring, please make sure that the current version on the GitHub is the version which is hosted on bathcs.com or is currently used. The project description on Bath GitLab must link to the canonical (original) source code.

Licensing

Please see license policy for information on how our projects are licensed.

To summarise, new projects should be licensed under Apache-2.0 WITH LLVM-Exception, contributors must agree to the Developers Certificate of Origin (DCO), and any contributions must not violate the University of Bath’s Intellectual Property policy.

Requirements

Due to most projects being tested by chaotic Computer Science students as well as hosted publicly, we have a strict set of requirements for projects and things which need to be considered.

More requirements are hidden within the pages in this wiki, so please make sure to read any relevant pages. Hopefully we have made this at least somewhat entertaining to read or at least easy to skim.

To consider

  • Hand over procedure: Is there anything which cannot be handed over by our current procedures, if so how will we amend this?

Functional

Non-functional

  • Include credits for who wrote it and contact details once you leave the University.
  • Hosting needs to be free, and preferably on-premises (we will not get any consistent funding)
  • Webpages should be light and fast to load (so we support all type of devices)
  • A webpage should work on mobile (because students are lazy).
  • The main branch should be protected (except for mirrors)
  • Get someone to review your code (this helps with not having any security issues)
  • Code follows relevant Programming language guidelines
  • Documentation should be included to setup a development environment as well as production