question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Improve new contributor's experience

See original GitHub issue

I want to make the project easier to understand for new contributors. I think the most important thing is adding code comments, followed by adding more tutorial-type content in readthedocs for different use cases.

Code cleanup would also be good, but it will require more testing effort. Documentation/comments seems like low-hanging fruit.

This raises the question of where to put the canonical, most-detailed description of each PC->CF command. As far as I can tell, there is no single friendly place where a new contributor can learn “these are all the commands I can send to the Crazyflie”. The CRTP documentation is pretty close, but it might be a little bit low-level - for example, it forces the contributor to read about the integer quantization of the full-state setpoint, which is abstracted away from almost all of the PC side.

Some options:

  • crazyflie_cppcomments. crtp.h might be the most cohesive and trustworthy source of truth for the Crazyflie’s radio protocol; the crazyflie.h method declarations abstract away the exact data formats.
  • ROS service definition comments. I would lean away from these, since from the perspective of the Crazyflie itself and the perspective of the high-level script writer, use of ROS is an implementation detail.
  • crazyflie_server method definition comments. Also seem a little too closely tied to ROS.
  • pycrazyswarm wrapper method definition comments. Probably the most convenient place for Crazyswarm script writers, but maybe not discoverable for non-Crazyswarm developers.
  • crazyflie-firmware code comments. Unfortunately, the radio packet definitions are spread all over the code, so this fails the “single friendly place” criterion.
  • some neutral Bitcraze documentation location, like the CRTP documentation above. Big advantage: has more contributors, easier to get Bitcraze employees to contribute.

Any opinions?

Issue Analytics

  • State:open
  • Created 4 years ago
  • Comments:12 (5 by maintainers)

github_iconTop GitHub Comments

1reaction
jpreisscommented, Feb 2, 2021

https://documentation.divio.com/

This is an interesting resource on writing good documentation. They suggest that software should have 4 kinds of documentation: Tutorials, How-to guides, Reference, and Explanation.

I think the content in our docs is pretty good, but maybe it could be organized more effectively. For example, the streaming setpoint mode tutorial is predominantly a How-to guide:

A how-to guide is an answer to a question that only a user with some experience could even formulate.

but it’s mixed together with motivations of the Crazyswarm design (as mentioned by hanzheteng above), which would be Explanation.

0reactions
jpreisscommented, Feb 5, 2021

#293, #294, #295 apply some of these ideas, focusing on the setup/tutorial stage.

Read more comments on GitHub >

github_iconTop Results From Across the Web

How to create a better first-time contributor experience for your ...
Maintaining OSS is an important but time-consuming job, so attracting and keeping new contributors to OSS projects is key (read more about this...
Read more >
Encouraging New Contributors - Red Hat
Open source projects survive off new contributions and new contributors, bringing new ideas and new focus to their work.
Read more >
Improving the contributor experience: GitHub Codespaces for ...
Improving the contributor experience: GitHub Codespaces for WordPress ... I'm looking to make wordpress/wordpress-develop usable in GitHub ...
Read more >
Developing Individual Contributors: Your Secret Weapon For ...
How to develop individual contributors · 1. Create “senior” titles · 2. Ask them what they want · 3. Provide resources for growth...
Read more >
10 tips for onboarding open source contributors
Making new contributors feel welcome in your community is essential to your project's future, so it's important to put time and attention into ......
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found