Open loleg opened 3 years ago
Personally, I have some solutions for checking the open-source projects that participants have used in their projects.
Firstly, I think that we can ask participants when they submit their projects on the platform. There are some questions to ask participants about their project and these questions not only help them to state which open source projects that they have used but also help them to focus on the main features of their projects. The answers to these questions could be a part of judging criteria.
Here are some questions that can be considered in this section:
Secondly, we can provide a policy or rules of the hackathon to make sure participants have to write all of the open-source projects that they used. On the other hand, we can merge this solution with the first solution by providing a form for them and make this section a part of the judging criteria.
Finally, the last solution may be applied automatically by applying the approach of static analysis. Actually, static analysis can help us analyze the source code of projects. Thus, we can use this method to analyze source code and track this source code on open-source platforms.
@tamberg proposed a simple standard text format in the pitch, rather than a UI widget. The first thing I would suggest is a Markdown table, which works out of the box - but maybe users would find a template handy. Something along these lines?
Hardware components | Type | Quantity | |
---|---|---|---|
ESP32 Development Kit | Hardware | ×1 | |
LoRaWAN Unit 868MHz | Hardware | ×1 | |
MicroPython for ESP32 | Software | v1.19.1 | |
The Things Network | Cloud | v3 |
Here is the same thing, but in list form:
Links can be added to both table and list entries. Or we could do it in YAML:
Hardware:
- ESP32 Development Kit
count: 1
doc: https://docs.m5stack.com/en/core/atom_lite
shop: https://www.bastelgarage.ch/m5stack-atom-lite-esp32-development-kit
- LoRaWAN Unit 868MHz
count: 1
doc: https://docs.m5stack.com/en/atom/atom_dtu_lorawan868
shop: https://www.bastelgarage.ch/lorawan868-unit-asr6501-mit-868mhz-antenne
Software:
- MicroPython for ESP32
version: v1.19.1
url: https://micropython.org/download/esp32/
Cloud:
- The Things Network
version: v3
url: https://thethingsnetwork.com
Hardware:
Software:
Cloud:
Ideally the format would show up okay on GitHub and other coding platforms. Any more thoughts?
Inspired by sites like Hackaday which show the (usually, hardware) components that go into realising a project, it would be nice to have structured information about dependencies on data, code, hardware, etc., in a dribdat project. This could in theory be scoped in the text content, but a simple "todo list" like form interface would suffice to enrich the content of the platform.
To make it more likely that the data could be parsed and usable for things like validating licenses, we should investigate connecting to an external open dataset of components (e.g. FOSSA). When the user enters the name of a library, a matching sequence would be run with confirmation.
See this comment and this branch.