|
Packit Service |
4897fc |
Hacking on libgweather
|
|
Packit Service |
4897fc |
======================
|
|
Packit Service |
4897fc |
|
|
Packit Service |
4897fc |
+ The development occurs in git:
|
|
Packit Service |
4897fc |
|
|
Packit Service |
4897fc |
http://git.gnome.org/browse/libgweather
|
|
Packit Service |
4897fc |
|
|
Packit Service |
4897fc |
For information on how to access GNOME git please read:
|
|
Packit Service |
4897fc |
|
|
Packit Service |
4897fc |
http://live.gnome.org/Git
|
|
Packit Service |
4897fc |
|
|
Packit Service |
4897fc |
+ Please send patches as bug reports in GNOME Bugzilla:
|
|
Packit Service |
4897fc |
|
|
Packit Service |
4897fc |
https://bugzilla.gnome.org/ (product libgweather)
|
|
Packit Service |
4897fc |
|
|
Packit Service |
4897fc |
Your patch should be in unified diff form (the -u option to GNU
|
|
Packit Service |
4897fc |
diff). See also:
|
|
Packit Service |
4897fc |
|
|
Packit Service |
4897fc |
http://live.gnome.org/GnomeLove/SubmittingPatches
|
|
Packit Service |
4897fc |
|
|
Packit Service |
4897fc |
+ Please try and send a patch against a recent version of this package.
|
|
Packit Service |
4897fc |
Patches against git master are most preferable.
|
|
Packit Service |
4897fc |
|
|
Packit Service |
4897fc |
+ Don't commit any but the most trivial patches without approval.
|
|
Packit Service |
4897fc |
|
|
Packit Service |
4897fc |
+ Exceptions to this are:
|
|
Packit Service |
4897fc |
|
|
Packit Service |
4897fc |
- Translators may commit basic i18n related patches to the build
|
|
Packit Service |
4897fc |
setup.
|
|
Packit Service |
4897fc |
- Build sheriff are welcome - in accordance with the relevant build
|
|
Packit Service |
4897fc |
sheriff constraints.
|
|
Packit Service |
4897fc |
|
|
Packit Service |
4897fc |
|
|
Packit Service |
4897fc |
Adding new weather sources
|
|
Packit Service |
4897fc |
==========================
|
|
Packit Service |
4897fc |
|
|
Packit Service |
4897fc |
To add new weather sources, a number of requirements must be considered:
|
|
Packit Service |
4897fc |
- the API should be documented
|
|
Packit Service |
4897fc |
- access to the API can require the use of a freely available application
|
|
Packit Service |
4897fc |
token ID. See the requirements below.
|
|
Packit Service |
4897fc |
- there must not be hard usage limits, or they must be high enough not to
|
|
Packit Service |
4897fc |
cause disruption with weather support being builtin to the OS/desktop
|
|
Packit Service |
4897fc |
- the requests must be made over HTTPS, or an equivalent, encrypted network
|
|
Packit Service |
4897fc |
connection.
|
|
Packit Service |
4897fc |
- the result of requests must be machine parseable, and the parsing code
|
|
Packit Service |
4897fc |
must have unit tests to prevent regressions, and make it easy to root-cause
|
|
Packit Service |
4897fc |
crashes
|
|
Packit Service |
4897fc |
- the user’s privacy must be maintained as much as possible, see section below
|
|
Packit Service |
4897fc |
- the user’s bandwidth must be preserved where possible, with the server offering
|
|
Packit Service |
4897fc |
enough information to avoid downloads through libsoup, our HTTP library.
|
|
Packit Service |
4897fc |
- the data gathered can require a attribution (in which case the patch must
|
|
Packit Service |
4897fc |
contain code to implement this) and if restricted to non-commercial usage,
|
|
Packit Service |
4897fc |
must have a comment mentioning that fact in the GWeatherWeather API documentation
|
|
Packit Service |
4897fc |
- finally, a working and applicable patch must be provided
|
|
Packit Service |
4897fc |
|
|
Packit Service |
4897fc |
Privacy
|
|
Packit Service |
4897fc |
-------
|
|
Packit Service |
4897fc |
|
|
Packit Service |
4897fc |
The user’s privacy must be maintained as much as possible:
|
|
Packit Service |
4897fc |
- don’t include unnecessary detail in requests
|
|
Packit Service |
4897fc |
- don’t allow fine-grained location tracking
|
|
Packit Service |
4897fc |
- don’t include other identifying information in the requests if possible
|
|
Packit Service |
4897fc |
- service must have a data usage policy that's reasonable compared to
|
|
Packit Service |
4897fc |
equivalent services, eg. not use requests as a way to feed into user tracking
|
|
Packit Service |
4897fc |
for an advertisment business
|
|
Packit Service |
4897fc |
|
|
Packit Service |
4897fc |
Application token usage
|
|
Packit Service |
4897fc |
-----------------------
|
|
Packit Service |
4897fc |
|
|
Packit Service |
4897fc |
Not using tokens is preferable, but some data sources don't offer the option.
|
|
Packit Service |
4897fc |
There are a number of requirements for those tokens:
|
|
Packit Service |
4897fc |
- One should be provided in the patch for testing purposes, and be easily
|
|
Packit Service |
4897fc |
overridable by distributions wishing to have a separate identifier and limits
|
|
Packit Service |
4897fc |
- The test token should have high enough limits that you're reasonably confident
|
|
Packit Service |
4897fc |
that lots of people running `make check` won’t cause the token to be revoked
|
|
Packit Service |
4897fc |
and break everyone’s tests
|
|
Packit Service |
4897fc |
- Instructions on how to get a token for the application must be provided
|