|
| 1 | + |
| 2 | +# Fetching/pulling |
| 3 | + |
| 4 | +* Fix outstanding git/hg/bzr clones, either with manual clone_urls or some other method (high pri) |
| 5 | + * solfege |
| 6 | + * sage |
| 7 | + * saleor |
| 8 | + * rhodecode |
| 9 | + * viewvc |
| 10 | + * gedit |
| 11 | +* Add SVN support (low pri) |
| 12 | +* Remove opsmop |
| 13 | +* Establish the importance of libraries vs applications |
| 14 | + * The answers for applications differ from that of libraries' |
| 15 | +* split out "assets" in sloc (xml, svg, json, yaml, qml) |
| 16 | + * maybe docs too? md, tex, rst, org |
| 17 | + * tooling: autoconf, make, meson, Dockerfile |
| 18 | +* count python files |
| 19 | +* update progress bar to say "(done)" instead of name of last project (wicd rn) |
| 20 | +* tokei thinks .master = asp.net (also, ignore contrib, ignore vendor, ignore single files) |
| 21 | + |
| 22 | +# Stats Ideas |
| 23 | + |
| 24 | +* Hybridization / Co-occurrence with other languages (sloccount) (javascript, C, Cython, Java, etc.) |
| 25 | +* Stars/forks (gh api, requires key) (also important for illustrating the contrast of scales in stars and collaboration) |
| 26 | +* License (https://github.com/src-d/go-license-detector/releases) |
| 27 | +* Packaging (containers: docker, snap, flatpak; freezers; setup.py/pypi, etc.) |
| 28 | +* sloccount |
| 29 | +* age / # of contributions, contributors. # of overlapping contributors. |
| 30 | +* source control (git vs hg vs bzr) |
| 31 | +* correlation between stars and contributors? |
| 32 | +* Need to categorize small, medium, large |
| 33 | +* Can committer distribution be used as an indicator of maturity? |
| 34 | +* Can number of minor contributors be used as a proxy for popularity/usage? |
| 35 | + |
| 36 | +## Architecture |
| 37 | + |
| 38 | +* Server vs GUI vs CLI |
| 39 | +* Django vs Flask vs Other Server |
| 40 | +* Qt vs GTK vs TK vs Other GUI |
| 41 | +* argparse vs click vs other CLI |
| 42 | + |
| 43 | +# Data collection |
| 44 | + |
| 45 | +* command to delete/archive results older than a certain date? |
| 46 | +* load all results files |
| 47 | +* apatite collect --targets --metrics |
| 48 | +* apatite collate --date |
| 49 | +* apatite analyze collated_file.json |
| 50 | +* apatite-results__2019-08-10T10-10-10__2019-08-10T10-10-10.json (oldest date__newest_date) |
| 51 | +* look at all targets for the collection, take the oldest and newest |
| 52 | + dates, then generate results filename, then start data collection |
| 53 | +* collection needs to take into account existing valid results and resume |
| 54 | +* for results collation, accept a date, load all results files with |
| 55 | + that date within their range, keep newest results up to that date |
| 56 | +* apatite tarchive, apatite merge-tarchive ? (for cross-host results |
| 57 | + merging if repeating collection takes too long) |
| 58 | +* sloc should be enhanced to create committer identities, grouped by |
| 59 | + case-/whitespace-normalized name and email. |
| 60 | +* probably add metric name to results file? (faster collation, not an issue now) |
| 61 | + |
| 62 | +## Licenses |
| 63 | + |
| 64 | +Spotchecking the license output |
| 65 | + |
| 66 | +* modoboa is actually ISC, not 0BSD (second guess) |
| 67 | +* nvda is actually gplv2, under copying.txt (not bzip2) |
| 68 | +* kallithea is actually GPLv3, not MPL |
| 69 | +* 30 projects have no data (code is there for at least 15 of those) |
| 70 | + |
| 71 | +# Collation |
| 72 | + |
| 73 | +* Open all files with data between date ranges |
| 74 | +* Scan through for unique combinations of supported metrics and still-listed projects |
| 75 | +* Keep the most recent data (that isn't newer than the specified date) |
| 76 | + * isodates don't need to be parsed to be compared; stick to string comps for speed |
| 77 | +* Future: Make note of which data is missing |
| 78 | + |
| 79 | +# Tagsonomy improvements |
| 80 | + |
| 81 | +* Console (and CLI/TUI/GUI) is more about UI than target platform |
| 82 | + |
| 83 | +# Features |
| 84 | + |
| 85 | +* Stale projects (have not been updated for more than X% of their lifespan) |
| 86 | + |
| 87 | +# Interesting findings |
| 88 | + |
| 89 | +* Even some older projects have already adopted asyncio. mailman, ipython, mitmproxy, even portage |
| 90 | +* The weird hybrids. Haskell + Python (Ganeti, developed by google). Java + Python (nimbus, but 2014). Rust + Python (pants) |
| 91 | +* One of the apps (Meson) has its own sloc type |
| 92 | +* One app has all its docs written in TeX |
| 93 | +* 90 tox.inis (I'm used to seeing tox for libraries, not applications) |
| 94 | + |
| 95 | +<--! --> |
0 commit comments