Bath Open Source Society
Bath Open Source Society (BOSS), is a society focused on providing computer services to students and societies. Their members and committee build and provide websites and tools which students and societies can use.
All services are hosted under bathcs.com, which is a domain owned by the society, as well as bcss.su.bath.ac.uk.
The committee's contact details can be found on their SU page.
Services
There are many services maintained by BOSS, students are free to use most of them, with only a few requiring permission.
General
- Froom, a tool to help you find free unbookable rooms on campus if you just need a room for brief meetings or some quite time.
- Wiki, this mediawiki instance, where students can store general knowledge and information about university life
Society tools
- VaultTub, a hosted password manager compatible with Bitwarden, allows societies to easily share password's with other committee members and perform handovers relatively simply. If your society wants to use this, please email su-boss@bath.ac.uk and we can set you up with an organisation.
- Sign me in!, a tool created for societies to check and track people signed up for a ticketed event and is compatible with the SU's library card reader for even faster signin process.
- Timetable Heatmap, a tool to find the best times for weekly events with a chosen audience. Please note that this does require some programming knowledge to be able to use.
Departmental tools
We also have tools for general departmental student activity, if departments want to use these tools, please contact su-boss@bath.ac.uk and we can set you up with it.
- Peer Mentor Grouper, this is a basic site that allows freshers to choose preferred peer mentors and then assigns the best combination to achieve most people's preferred choice.
Custom
If a society wants a custom website or tool for an event they are running, please get in contact with su-boss@bath.ac.uk. Though your dream may not be completely achieved, BOSS will try to fit your needs.
With this, we are able to create and host services such as:
- Basic webpage for advertising your events or just your society
- Websites with integration with auth.bath.ac.uk to provide minimal account system (as long as it complies with GDPR).
- Provide graphs which track website performance
- Send emails from
bathcs.comdomain, with reduced likelihood of going into spam. - Websites with restricted user access (e.g. only committee members)
Websites we have previously helped:
- Bath Hack 24-26
- Witathon 25-26
Although, we do have limited resources and so we can only build a few projects from scratch each year, but if you are somewhat technical and have already built a website, we are happy to help you host it.
Future
BOSS tracks all of its potential future projects on its planning board, which any student can contribute to or discuss the projects.
Contributing
As a society, BOSS members can contribute to any project to help them improve and grow, there are many ways you can contribute, even without any technical knowledge. We track all our issues and store all our code on Bath's GitLab instance, under the cs organisation and all conversation is done through our hosted Matrix instance.
Get Started
Tester/stakeholder
If you want to provide invaluable source of information about up and coming projects, you can get involved by joining our group chats and respond to questions around design. You can checkout current project ideas on our planning board.
This makes sure our new projects are useful and relavent to you as a student.
Bug reporter/Feature requester
If you find a bug or issue with a service we provide, or even just want to see a specific feature added, please see Creating a work item. This provides tasks for other students to complete and makes sure that our services are of the highest quality. Please be patient though, development takes time, especially when no one is paid to work on any specific feature.
Designer
If you are good at art (unlike a lot of Computer Scientists), you can get involved by creating logos or even working with a developer to improve the style of our websites, through CSS and HTML. We are always looking to making our sites more intuitive and this is an invaluable source of help with that.
Documenter
Computer scientists commonly struggle at writing long essays, though they love talking about their inventions. So you can help out by creating wiki pages about how to use a piece of software, or even read some code that is created and add documentation to the functions explaining what they do and how they work. As students leave every year, we need to make sure our code is as readable as possible.
Developer
The core of our members, those who are just learning to code for a bit of fun, or wanting to get some practice before going to work at a real company. We work in a range of languages as we believe you should choose the right language for the job, but we tend to use Rust and TypeScript as they are the fun cool languages on the block.
Before you contribute to any of our projects however, you must agree to the Developer Certificate of Origin and understand our generative AI Policy. But you are free to fork any of our projects, make your changes and then submit an MR. If you are wanting to fix an issue, please send a message on that specific work item to state you are working on it, and make sure no one else is doing the same thing.
If it is a large feature that is not an issue, please get in touch with the project owner or committee to discuss if it is wanted, as we do not want to waste your time.
Project Owner
If you are assigned this role, you will be responsible for managing work items, reviewing merge requests and publishing releases of your projects. This role is not elected as we want the people with the most knowledge and understanding of the project.
Project owners will be chosen each year and trained up before the previous owner leaves.
Sysadmin
If you much prefer configuring systems, managing deployments and putting out fires (hopefully not literally), you can apply to become a system administrator. We aim to make this role as easy as possible, relying on automated deployments where ever possible. Although, many other factors can go wrong with 4 servers, and so we need people regularly checking in on them and making sure they have not been hacked or something.
You will need specific knowledge of linux commands, ssh and maybe even kubernetes and FreeBSD (but that's generally easy to learn and we offer training). You will get varying levels of access to our production and staging kubernetes clusters as well as the machines that run them.