How to Contribute and Request Features
How To Request Features
All software needs user feedback and feature requests, to grow and maintain alignment with the needs of its users.
OpenDroneMap is FOSS software. Free and open source (FOSS) projects are interesting from the inside and outside: from the outside, successful ones feel like they should be able to do anything, and it’s hard to know what a reasonable request is. From the inside of a project, they can feel very resource constrained: largely by time, money, and opportunity overload.
Demanding that a feature be implemented is probably not going to convince the development team to do so. Imagine if somebody knocked on your door and asked you to "stop reading this page right now and come to my house to cook me dinner!". Your first response might very reasonably be "who on earth is this person and why should I spend my time and energy fulfilling his agenda instead of my own?".
Suggesting that a feature be implemented is a more effective (and cordial) way to ask for new features, especially if you're prepared to offer some of your own resources (time, funds or both) to help get the feature implemented. Explaining why your suggestion can benefit others can also help. If the feature benefits you exclusively, it might be harder to convince others to do the work for you.
A feature request can be submitted as issues on the applicable Github repository (e.g., WebODM or ODM or similar) or more simply as a discussion topic on the community forum. Try to start by searching these sources to see if someone else has already brought it up. Sometimes a feature is already in the works, or has at least been discussed.
To request the addition of support for new drone cameras: please share a set of test images on the datasets channel on the forum. Without test images there's not much the developers can do.
And importantly, the trick is to listen: if someone within the project says: "This is a big lift, we need MONEY or TIME or SOMEONE TO HELP CODE IT" (or possibly a combination of the three) then there are two answers that work really well in response:
Ok. I didn’t know it was a big feature request! I hope someone comes along with the necessary resources. As a community member, I would be happy to be an early user and tester!
or
Let’s figure out if we can put together the resources to get this done! Here’s what I can contribute toward it: …
We are glad you are excited to see new features added to the project. Some new features need support, and some are easier to implement. We'll do our best to help you understand where your request falls, and we appreciate any support you can provide.
Jinsi ya kushiriki
OpenDroneMap inategemea na ushiriki wa kijamii. unaweza kushiriki kwa njia nyingi, hata ukiwa sio programa.
Jukwaa la kijamii
Ikiwa unataka kushiriki, katika matatizo yalioshinda, au yanayotaka kutatuliwa, jukwaa ni sehemu nzuri ya kuanzia. Unaweza kupata maswali yaliojibiwa au unaweza kupata njia zitakazokusaidia au rasilimali. Pia unaweza kushiriki data zako za wazi kwa wengine kutumia. Ni sehemu nzuri kabla kutuma makosa au kutumia pamoja na wasanifu kuandika vitu vipya.
Kuwasilisha Bugs
Bugs imefuatwa kama suala la Github. Tafadhali tengeneza kitu ndani sehemu ya kuhifadhi na lebo pamoja na makosa.
Elezea tatizo na uambatanishe maelezo ya ziada kuwasaidia wanaotengeneza kugundua tatizo:
Tumia njia fupi na madainayojieleza kwa kitu kuonesha tatizo.
Elezea hatua sahihi ambayo inazalisha tatizo kwa undani wote iwezekanavyo. Mfano, anza kwa kuelezea vipi unawasha ODM (Docker, Vagrant, etc), mfano: ni camand gani unatumia ndani ya taminali. Wakati unasikiliza hatua, usiseme tu umefanya, lakini elezea ni vipi umefanya.
Andaa mfano maalum kuonesha njia. Ikiwemo kiunganishi kwenye mafaili au GitHub project, au sehemu copy/pasteable, ambayo umeitumia katika mifano yote. Ikiwa umetoa dondoo kwenye hili, tumia Markdown code blocks.
Elezea tabia uligundua baada ya hatua zifuatazo na onyesha kitu husika ni tatizo kwa tabia hio.
Elezea ni tabia ipi unategemea kuiona kutokea na kwa nini.
Ikiwemo screenshots na animated GIF ambayo inakuonesha hatua za maelezo yafuatayo na maelezo sahihi ya matatizo. Unaweza kutumia Kifaa hichi cha kurekodi GIFs kwa macOS na Windows, na kifaa hiki au hiki hapa katika Linux.
Ikiwa tatizo linaendana na utendaji kazi, tafadhali tuma mashine yako maalum (host na guest mashine).
Ikiwa tatizo halijaoneshwa kwa kitendo maalum, eleze nini ulifanya kabla tatizo halijatoke na sambaza maelezo kutumia maelekezo yafuatayo.
Ikiwemo undani juu ya usanidi na mazingira:
Ni toleo gani la ODM unayotumia? Imetolewa sahihi? ni clone kuu?
Ni jina gani na toleo gani la OS unayotumia?
Unatumia ODM katika virtual mashine au Docker? Ikiwa ni hivyo, ni VM software gani unayotumia na opereting system gani na tolea unalotumia kwa host na guest?
Kigezo kwa kuwasilisha maelezo ya bug
[Short description of problem here]
**Reproduction Steps:**
1. [First Step]
2. [Second Step]
3. [Other Steps...]
**Expected behavior:**
[Describe expected behavior here]
**Observed behavior:**
[Describe observed behavior here]
**Screenshots and GIFs**
![Screenshots and GIFs which follow reproduction steps to demonstrate the problem](url)
**ODM version:** [Enter ODM version here]
**OS and version:** [Enter OS name and version here]
**Additional information:**
* Problem started happening recently, didn't happen in an older version of ODM: [Yes/No]
* Problem can be reliably reproduced, doesn't happen randomly: [Yes/No]
* Problem happens with all datasets and projects, not only some datasets or projects: [Yes/No]
Tatua maombi
Ikiwemo screenshots na animated GIFs katika kutatua maombi yako vyovyote iwezekanavyo.
Fuata maelekezo PEP8 Python Style.
Malizia file kwa mstari mpya.
- Epuka platform-dependent code:
Tumia require('fs-plus').getHomeDirectory() kurudi anuani ya nyumbani.
Tumia path.join() kwa kuunganisha majina.
Tumia os.tmpdir() kuliko /tmp ukihitaji kumbukumbu ya anuani ya muda mfupi.
- Tumia return tupu wakati return ya urahisi mwisho wa kazi.
Sio return null, return undefined, null, au undefined
Learn to edit and help improve this page!