From 675dc6992d9cd2e0be86ec434c031664d4963609 Mon Sep 17 00:00:00 2001 From: meichthys <10717998+meichthys@users.noreply.github.com> Date: Thu, 7 Jul 2022 00:37:19 -0400 Subject: [PATCH] Resolves Add Feature Dictionary #12 --- features.md | 96 +++++++++++++++++++++++++++++++++++++++++++++++++++++ readme.md | 55 +++++++++++++++--------------- 2 files changed, 123 insertions(+), 28 deletions(-) create mode 100644 features.md diff --git a/features.md b/features.md new file mode 100644 index 0000000..ada8afb --- /dev/null +++ b/features.md @@ -0,0 +1,96 @@ +# Photo Library Features + +To clarify the definitions/meanings of the features that are included in the comparison, the below definitions are currently used: + +## Github Stars + +The number of stars on the primary github (or other) source code repository. + +## Active Contributors + +The number of contributors that have contributed over 1k lines of code in the last year. +We avoid total # of contributors here in order to better guage the number of contributors that would likely carry the project forward if the primary contributor or repository became inactive. + +## Source Language + +The primary language used in the repository's source code. + +## License + +The software license listed on the code repository. + +## Demo + +Does the project provide a demo instance + +## Freeness + +Is the project completely and forever 'Free', or does it have a subscription plan or support model? + +## Automatic Mobile Upload + +Is there a method to automatically upload images from a mobile device? + +## Web App + +Is a web interface provided? + +## Mobile App + +Is a mobile app provided? [We currently don't differentiate between Android/Apple/etc.](https://github.com/meichthys/foss_photo_libraries/issues/19) + +## Desktop App + +Is a desktop app provided? + +## LivePhotos Support + +Are Live Photos supported? We currently don't differentiate between the differnt types of Live Photos (Apple, Google, Samsung, etc). + +## Video Support + +Are videos supported? + +## Photo Map + +Can photos be geolocated on a map? + +## Photo Discovery + +Does the project have a mechanism to aid the user in re-discovering photos. this can include automatic album generation, 'year in review', etc. + +## Albums + +Can albums be created and organized? + +## Timeline + +Is there a way to view the photos chronologically? + +## Photo Sharing + +Can photos be shared with other users or non-users? + +## Photo Search + +Is there a search for the photos? Does it support semantic search, filtering, or other searching methods? + +## Docker Installation + +Does the project provide a docker image? Are there example docker-compose deployments? + +## Object/Face Recognition + +Is there object or face detection included? [We currently do not differentiate between objects/faces](https://github.com/meichthys/foss_photo_libraries/issues/16). + +## Basic Editing + +Can photos be edited (i.e. Crop, rotate, simple touch-up, etc). + +## EXIF Data + +Can EXIF data be viewed or better yet edited? + +## Multiple User Support + +Can there be multiple libraries for different users? \ No newline at end of file diff --git a/readme.md b/readme.md index 735446d..7b3ecb8 100644 --- a/readme.md +++ b/readme.md @@ -8,34 +8,33 @@ I've been on a quest to replace most of my daily software needs with open-source 🚧 = Feature may exist but may not be practical or officially released ❌ = Feature does not yet exist #️⃣ = Subjective measure of feature quality (on scale of 0-10) - **Tip:** Hover over icons for missing/incomplete features for more information - - -| Feature | [Damselfly](https://github.com/Webreaper/Damselfly) | [Immich](https://github.com/alextran1502/immich) | [Librephotos](https://github.com/LibrePhotos/librephotos) | [Lychee](https://github.com/LycheeOrg/Lychee) | [Nextcloud Photos](https://github.com/nextcloud/photos/) | [Photonix](https://github.com/photonixapp/photonix) | [PiGallery2](https://github.com/bpatrik/pigallery2) | [Photoprism](https://github.com/photoprism/photoprism) | [Photoview](https://github.com/photoview/photoview) | [Piwigo](https://github.com/Piwigo/Piwigo) | -| :------------------------ | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ---------------------------------------------------------------------------- | -------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | --------------------------------------------------------------------- | -| Github Stars | ![?](https://img.shields.io/github/stars/Webreaper/Damselfly?label=%20) | ![?](https://img.shields.io/github/stars/alextran1502/immich?label=%20) | ![?](https://img.shields.io/github/stars/LibrePhotos/librephotos?label=%20) | ![?](https://img.shields.io/github/stars/LycheeOrg/Lychee?label=%20) | ![?](https://img.shields.io/github/stars/nextcloud/photos?label=%20) | ![?](https://img.shields.io/github/stars/photonixapp/photonix?label=%20) | ![?](https://img.shields.io/github/stars/bpatrik/pigallery2?label=%20) | ![?](https://img.shields.io/github/stars/photoprism/photoprism?label=%20) | ![?](https://img.shields.io/github/stars/photoview/photoview?label=%20) | ![?](https://img.shields.io/github/stars/Piwigo/Piwigo?label=%20) | -| Active Contributors | 1 | 1 | 1 | 3 | 2 | 1 | 1 | 4 | 1 | 3 | -| Source Language | C# | Dart | Python | PHP | JavaScript | Python | TypeScript | Go | Typescript/Go | PHP | -| License | ![?](https://img.shields.io/github/license/Webreaper/Damselfly?label=%20) | ![?](https://img.shields.io/github/license/alextran1502/immich?label=%20) | ![?](https://img.shields.io/github/license/LibrePhotos/librephotos?label=%20) | ![?](https://img.shields.io/github/license/LycheeOrg/Lychee?label=%20) | ![?](https://img.shields.io/github/license/nextcloud/photos?label=%20) | ![?](https://img.shields.io/github/license/photonixapp/photonix?label=%20) | ![?](https://img.shields.io/github/license/bpatrik/pigallery2?label=%20) | ![?](https://img.shields.io/static/v1?label=%20&message=GPL-3.0&color=orange) | ![?](https://img.shields.io/github/license/photoview/photoview?label=%20) | ![?](https://img.shields.io/github/license/Piwigo/Piwigo?label=%20) | -| Demo | ❌ | ❌ | ✅6️⃣ | ✅4️⃣ | ✅7️⃣ | [✅](https://demo.photonix.org/login)8️⃣ | [✅](https://pigallery2.herokuapp.com/gallery)8️⃣ | [✅](https://try.photoprism.app)9️⃣ | [✅](https://photos.qpqp.dk/)9️⃣ | [✅](https://piwigo.org/demo)9️⃣ | -| Freeness | ✅🔟 | ✅🔟 | ✅🔟 | ✅🔟 | ✅🔟 | ✅🔟 | ✅🔟 | [🚧](https://photoprism.app/get)7️⃣ | ✅🔟 | ✅🔟 | -| Automatic Mobile Upload | [❌](https://github.com/Webreaper/Damselfly/issues/40) | ✅7️⃣ | ❌ | ❌ | ✅4️⃣ | ❌ | ❌ | ✅6️⃣ | [❌](https://github.com/photoview/photoview/issues/129) | ✅7️⃣ | -| Web App | ✅8️⃣ | ✅8️⃣ | ✅8️⃣ | ✅8️⃣ | ✅5️⃣ | ✅7️⃣ | ✅7️⃣ | ✅7️⃣ | ✅8️⃣ | ✅8️⃣ | -| Mobile App | ❌ | [✅](https://github.com/alextran1502/immich#step-4-run-mobile-app)6️⃣ | [✅](https://github.com/LibrePhotos/librephotos-mobile)6️⃣ | [❌](https://github.com/LycheeOrg/Lychee/issues/1013) | [✅](https://nextcloud.com/clients/)5️⃣ | [✅](https://github.com/photonixapp/photonix-mobile)4️⃣ | ❌ | [🚧](https://docs.photoprism.app/user-guide/pwa/) | [✅](https://apps.apple.com/dk/app/photoview-media-gallery/id1578380271)6️⃣ | [✅](https://www.piwigo.org/mobile-applications)7️⃣ | -| Desktop App | ✅9️⃣ | ❌ | ❌ | ❌ | ❌ | [❌](https://github.com/photonixapp/photonix/issues/61) | ❌ | ❌ | ❌ | ❌ | -| LivePhotos Support | ❌ | [❌](https://github.com/alextran1502/immich/issues/160) | [❌](https://github.com/LibrePhotos/librephotos/issues/287) | ✅[6️⃣](https://github.com/LycheeOrg/Lychee/issues/1283) | ✅7️⃣ | [❌](https://github.com/photonixapp/photonix/issues/250) | ❌ | ✅7️⃣ | [❌](https://github.com/photoview/photoview/issues/273) | [❌](https://github.com/Piwigo/Piwigo/issues/1677) | -| Video Support | [❌](https://github.com/Webreaper/Damselfly/issues/82) | ✅8️⃣ | ✅8️⃣ | ✅6️⃣ | ✅6️⃣ | [❌](https://github.com/photonixapp/photonix/issues/295) | ✅8️⃣ | ✅7️⃣ | ✅7️⃣ | ✅4️⃣ | -| Photo Map | [❌](https://github.com/Webreaper/Damselfly/issues/312) | ✅4️⃣ | ✅8️⃣ | ❌ | ✅6️⃣ | ✅9️⃣ | ✅8️⃣ | ✅7️⃣ | ✅8️⃣ | ❌ | -| Photo Discovery | ❌ | ❌ | ✅7️⃣ | ❌ | ✅3️⃣ | ❌ | ❌ | ✅6️⃣ | ❌ | ✅1️⃣ | -| Albums | [❌](https://github.com/Webreaper/Damselfly/issues/238) | ✅8️⃣ | ✅9️⃣ | ✅8️⃣ | ✅3️⃣ | ✅5️⃣ | ✅6️⃣ | ✅8️⃣ | ✅6️⃣ | ✅8️⃣ | -| Timeline | ✅5️⃣ | ✅9️⃣ | ✅9️⃣ | ❌ | ✅5️⃣ | ✅5️⃣ | ✅5️⃣ | ✅5️⃣ | ✅9️⃣ | ✅3️⃣ | -| Photo Sharing | ❌ | ✅4️⃣ | ✅9️⃣ | ✅9️⃣ | ✅5️⃣ | ❌ | ✅7️⃣ | ✅7️⃣ | ✅8️⃣ | ✅5️⃣ | -| Photo Search | ✅8️⃣ | ✅7️⃣ | ✅8️⃣ | ✅3️⃣ | ✅3️⃣ | ✅8️⃣ | ✅7️⃣ | ✅8️⃣ | ✅5️⃣ | ✅7️⃣ | -| Docker Installation | ✅8️⃣ | ✅7️⃣ | ✅7️⃣ | ✅7️⃣ | ✅6️⃣ | ✅8️⃣ | ✅7️⃣ | ✅6️⃣ | ✅8️⃣ | [❌](https://github.com/Piwigo/Piwigo/pull/816) | -| Object/Face Recognition | ✅8️⃣ | ✅6️⃣ | ✅8️⃣ | [❌](https://github.com/LycheeOrg/Lychee/issues/1266) | [🚧](https://github.com/nextcloud/photos/issues/144)3️⃣ | ✅8️⃣ | ✅6️⃣ | ✅9️⃣ | ✅6️⃣ | [🚧](https://github.com/Piwigo/Piwigo/issues/1159) | -| Basic Editing | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | -| EXIF data viewing | ✅9️⃣ | ✅7️⃣ | [❌](https://github.com/LibrePhotos/librephotos/issues/77) | ✅7️⃣ | [❌](https://github.com/nextcloud/photos/issues/226) | ✅7️⃣ | ✅7️⃣ | ✅9️⃣ | ✅7️⃣ | ✅7️⃣ | -| Multiple User Support | ✅7️⃣ | ✅7️⃣ | ✅8️⃣ | ❌ | ✅7️⃣ | ✅7️⃣ | ✅7️⃣ | [❌](https://github.com/photoprism/photoprism/issues/98) | ✅6️⃣ | ✅8️⃣ | + Tip: Hover over icons for missing/incomplete features for more information + +| Feature | [Damselfly](https://github.com/Webreaper/Damselfly) | [Immich](https://github.com/alextran1502/immich) | [Librephotos](https://github.com/LibrePhotos/librephotos) | [Lychee](https://github.com/LycheeOrg/Lychee) | [Nextcloud Photos](https://github.com/nextcloud/photos/) | [Photonix](https://github.com/photonixapp/photonix) | [PiGallery2](https://github.com/bpatrik/pigallery2) | [Photoprism](https://github.com/photoprism/photoprism) | [Photoview](https://github.com/photoview/photoview) | [Piwigo](https://github.com/Piwigo/Piwigo) | +| :--------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ---------------------------------------------------------------------------- | -------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | --------------------------------------------------------------------- | +| [Github Stars](features.md#github-stars) | ![?](https://img.shields.io/github/stars/Webreaper/Damselfly?label=%20) | ![?](https://img.shields.io/github/stars/alextran1502/immich?label=%20) | ![?](https://img.shields.io/github/stars/LibrePhotos/librephotos?label=%20) | ![?](https://img.shields.io/github/stars/LycheeOrg/Lychee?label=%20) | ![?](https://img.shields.io/github/stars/nextcloud/photos?label=%20) | ![?](https://img.shields.io/github/stars/photonixapp/photonix?label=%20) | ![?](https://img.shields.io/github/stars/bpatrik/pigallery2?label=%20) | ![?](https://img.shields.io/github/stars/photoprism/photoprism?label=%20) | ![?](https://img.shields.io/github/stars/photoview/photoview?label=%20) | ![?](https://img.shields.io/github/stars/Piwigo/Piwigo?label=%20) | +| [Active Contributors](features.md#active-contributors) | 1 | 1 | 1 | 3 | 2 | 1 | 1 | 4 | 1 | 3 | +| [Source Language](features.md#source-language) | C# | Dart | Python | PHP | JavaScript | Python | TypeScript | Go | Typescript/Go | PHP | +| [License](features.md#license) | ![?](https://img.shields.io/github/license/Webreaper/Damselfly?label=%20) | ![?](https://img.shields.io/github/license/alextran1502/immich?label=%20) | ![?](https://img.shields.io/github/license/LibrePhotos/librephotos?label=%20) | ![?](https://img.shields.io/github/license/LycheeOrg/Lychee?label=%20) | ![?](https://img.shields.io/github/license/nextcloud/photos?label=%20) | ![?](https://img.shields.io/github/license/photonixapp/photonix?label=%20) | ![?](https://img.shields.io/github/license/bpatrik/pigallery2?label=%20) | ![?](https://img.shields.io/static/v1?label=%20&message=GPL-3.0&color=orange) | ![?](https://img.shields.io/github/license/photoview/photoview?label=%20) | ![?](https://img.shields.io/github/license/Piwigo/Piwigo?label=%20) | +| [Demo](features.md#demo) | ❌ | ❌ | ✅6️⃣ | ✅4️⃣ | ✅7️⃣ | [✅](https://demo.photonix.org/login)8️⃣ | [✅](https://pigallery2.herokuapp.com/gallery)8️⃣ | [✅](https://try.photoprism.app)9️⃣ | [✅](https://photos.qpqp.dk/)9️⃣ | [✅](https://piwigo.org/demo)9️⃣ | +| [Freeness](features.md#freeness) | ✅🔟 | ✅🔟 | ✅🔟 | ✅🔟 | ✅🔟 | ✅🔟 | ✅🔟 | [🚧](https://photoprism.app/get)7️⃣ | ✅🔟 | ✅🔟 | +| [Automatic Mobile Upload](features.md#automatic-mobile-upload) | [❌](https://github.com/Webreaper/Damselfly/issues/40) | ✅7️⃣ | ❌ | ❌ | ✅4️⃣ | ❌ | ❌ | ✅6️⃣ | [❌](https://github.com/photoview/photoview/issues/129) | ✅7️⃣ | +| [Web App](features.md#web-app) | ✅8️⃣ | ✅8️⃣ | ✅8️⃣ | ✅8️⃣ | ✅5️⃣ | ✅7️⃣ | ✅7️⃣ | ✅7️⃣ | ✅8️⃣ | ✅8️⃣ | +| [Mobile App](features.md#mobile-app) | ❌ | [✅](https://github.com/alextran1502/immich#step-4-run-mobile-app)6️⃣ | [✅](https://github.com/LibrePhotos/librephotos-mobile)6️⃣ | [❌](https://github.com/LycheeOrg/Lychee/issues/1013) | [✅](https://nextcloud.com/clients/)5️⃣ | [✅](https://github.com/photonixapp/photonix-mobile)4️⃣ | ❌ | [🚧](https://docs.photoprism.app/user-guide/pwa/) | [✅](https://apps.apple.com/dk/app/photoview-media-gallery/id1578380271)6️⃣ | [✅](https://www.piwigo.org/mobile-applications)7️⃣ | +| [Desktop App](features.md#desktop-app) | ✅9️⃣ | ❌ | ❌ | ❌ | ❌ | [❌](https://github.com/photonixapp/photonix/issues/61) | ❌ | ❌ | ❌ | ❌ | +| [LivePhotos Support](features.md#livephotos-support) | ❌ | [❌](https://github.com/alextran1502/immich/issues/160) | [❌](https://github.com/LibrePhotos/librephotos/issues/287) | ✅[6️⃣](https://github.com/LycheeOrg/Lychee/issues/1283) | ✅7️⃣ | [❌](https://github.com/photonixapp/photonix/issues/250) | ❌ | ✅7️⃣ | [❌](https://github.com/photoview/photoview/issues/273) | [❌](https://github.com/Piwigo/Piwigo/issues/1677) | +| [Video Support](features.md#video-support) | [❌](https://github.com/Webreaper/Damselfly/issues/82) | ✅8️⃣ | ✅8️⃣ | ✅6️⃣ | ✅6️⃣ | [❌](https://github.com/photonixapp/photonix/issues/295) | ✅8️⃣ | ✅7️⃣ | ✅7️⃣ | ✅4️⃣ | +| [Photo Map](features.md#photo-map) | [❌](https://github.com/Webreaper/Damselfly/issues/312) | ✅4️⃣ | ✅8️⃣ | ❌ | ✅6️⃣ | ✅9️⃣ | ✅8️⃣ | ✅7️⃣ | ✅8️⃣ | ❌ | +| [Photo Discovery](features.md#photo-discovery) | ❌ | ❌ | ✅7️⃣ | ❌ | ✅3️⃣ | ❌ | ❌ | ✅6️⃣ | ❌ | ✅1️⃣ | +| [Albums](features.md#albums) | [❌](https://github.com/Webreaper/Damselfly/issues/238) | ✅8️⃣ | ✅9️⃣ | ✅8️⃣ | ✅3️⃣ | ✅5️⃣ | ✅6️⃣ | ✅8️⃣ | ✅6️⃣ | ✅8️⃣ | +| [Timeline](features.md#timeline) | ✅5️⃣ | ✅9️⃣ | ✅9️⃣ | ❌ | ✅5️⃣ | ✅5️⃣ | ✅5️⃣ | ✅5️⃣ | ✅9️⃣ | ✅3️⃣ | +| [Photo Sharing](features.md#photo-sharing) | ❌ | ✅4️⃣ | ✅9️⃣ | ✅9️⃣ | ✅5️⃣ | ❌ | ✅7️⃣ | ✅7️⃣ | ✅8️⃣ | ✅5️⃣ | +| [Photo Search](features.md#photo-search) | ✅8️⃣ | ✅7️⃣ | ✅8️⃣ | ✅3️⃣ | ✅3️⃣ | ✅8️⃣ | ✅7️⃣ | ✅8️⃣ | ✅5️⃣ | ✅7️⃣ | +| [Docker Installation](features.md#docker-installation) | ✅8️⃣ | ✅7️⃣ | ✅7️⃣ | ✅7️⃣ | ✅6️⃣ | ✅8️⃣ | ✅7️⃣ | ✅6️⃣ | ✅8️⃣ | [❌](https://github.com/Piwigo/Piwigo/pull/816) | +| [Object/Face Recognition](features.md#object/face-recognition) | ✅8️⃣ | ✅6️⃣ | ✅8️⃣ | [❌](https://github.com/LycheeOrg/Lychee/issues/1266) | [🚧](https://github.com/nextcloud/photos/issues/144)3️⃣ | ✅8️⃣ | ✅6️⃣ | ✅9️⃣ | ✅6️⃣ | [🚧](https://github.com/Piwigo/Piwigo/issues/1159) | +| [Basic Editing](features.md#basic-editing) | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | +| [EXIF Data](features.md#exif-data) | ✅9️⃣ | ✅7️⃣ | [❌](https://github.com/LibrePhotos/librephotos/issues/77) | ✅7️⃣ | [❌](https://github.com/nextcloud/photos/issues/226) | ✅7️⃣ | ✅7️⃣ | ✅9️⃣ | ✅7️⃣ | ✅7️⃣ | +| [Multiple User Support](features.md#multiple-user-support) | ✅7️⃣ | ✅7️⃣ | ✅8️⃣ | ❌ | ✅7️⃣ | ✅7️⃣ | ✅7️⃣ | [❌](https://github.com/photoprism/photoprism/issues/98) | ✅6️⃣ | ✅8️⃣ | **Note:** This list is by no means comprehensive. For links to other photo library projects, see the [Awesome Self-Hosted](https://github.com/awesome-selfhosted/awesome-selfhosted#photo-and-video-galleries) list.