How to contribute #58
jaytaph
announced in
Announcements
Replies: 1 comment
-
Cool that you want to create a browser with only 3 weeks of Rust experience. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
As we are still in the very early phase of the project, we don't have a great organization yet. So it's hard for new users to hop in, pick an issue and create a PR.
If you like to help out, and are not sure what you could do, just ask us on the zulip chat: https://chat.developer.gosub.io. Come in and say hi and we might be able to find something you like to work on.
research and planning
Writing a browser is not easy. There are a lot of difficult components that needs to interact with each other, and do it in a fast and memory performant way. For this we need to do research. Lots of it. We need to figure out things that others browsers do, and we need to figure out if this is the way we want to behave.
Cleanup and fixing the bugs
Considering the complexity of the project, we like to make sure that the base is something we can work from, and this means we need to make sure that the code is according to the "rust"-way (idiomatic) and that we get rid of all the bugs that are present, but not aware off.
writing tests
Another thing we need people to do, is write tests for all the functions we have. Both unit-tests and integration tests. Fortunately, we have a great html5 test suite (html5lib-tests) that we use for testing the tokenizer and parser. Besides these tests, there are more tests needed to make sure the inner functions behave the way we think they should. Most of them are untested.
Although i don't need 100% code coverage, it should be at least high enough to give us the idea that what we write, actually works.
documentation
There is not enough documentation. There is never enough documentation. We probably want to document as much as possible, for both ourselves, as newcomers and users of the engine / browser. We have a wiki available which will be used for most of the documentation.
Infra
With infra I mean all the things besides writing code and tests. Think: CI environment, deployment for sites, documentation etc. We might want to connect with 3rd party tooling for more quality checks for instance, and even deal with email and domain management.
"management"
There needs to be some kind of oversight in the whole organization of the project. For now it is not that important, but it will become so when things get bigger and more complex. For the time being, the management of the project is just @jaytaph. But depending on the contributions of others, this team will grow.
Beta Was this translation helpful? Give feedback.
All reactions