OpenDroneMap Funding Request - Ubuntu 18.04/20.04, Snap packages, and WSL 1/2 Images

I’m sure more than a few here use OpenDroneMap, or have wanted to make use of it, so I come here to humbly ask that you at least read my proposal for improvements to OpenDroneMap.

Admins, if this is unwelcome, please let me know.


Help us fund a massive leap forward into the future (present?) as we bring OpenDroneMap and our considerable library of, well, libraries forward into Ubuntu 18.04LTS and/or 20.04LTS!

Ubuntu, and Linux as a whole, move fast. By rebasing on 20.04 or 18.04, we net years of feature updates, maintenance, performance improvements, and security fixes.

Snap packages allow easy, dependency-heck free installation of OpenDroneMap across many different Linux distros, not just our usual Ubuntu 16.x and (with enough work) 18.x derivatives.

Further, by having newly created WSL 1/2 images, the process of deploying, running, and using OpenDroneMap under Windows 10 will be vastly streamlined, and carries many of the same benefits as Snap packages do for Linux! Say bye-bye to tuning your Docker install, and let WSL2 dynamically allocate resources based upon system load!

WE HAVE TWELVE DAYS, PEOPLE! THROW :moneybag::dollar::euro::pound: SO DAN CAN :man_technologist:

Please see the in-lined summary of the Funding Drive below:
https://fund.webodm.org/#/fund/5

Scope of Work

Update OpenDroneMap and associated blocking libraries to be compatible with Ubuntu 20.04LTS, and Core20 snap packaging.
In addition, from the updated libraries, generate a WSL 1/2 compatible image of the same.

Further, updates to documentation ( and build tooling? ) to support any manual changes needed to ensure library compatibility with Ubuntu 20.04LTS and Core20 snap will be generated.

Alternative Scope

Potentially, a rebase around 18.04LTS and Core18 snap packaging as an alternate if too many blocking packages/dependencies exist that we can’t push upstream.

Timeframe

Projected to be approximately 4 weeks

Work-Hours

Projected to be approximately 160 hours

Contractor

Dan Llewellyn

“I am the foremost independent Snap Package expert with experience of bringing many well-known proprietary apps and open source projects to the Snap Store for Linux”

Why does this matter

  1. Updated libraries bring many fixes, performance enhancements, and potentially features as well
  2. Updated Ubuntu version provides a buffer of many more years of support, as well as access to more recent Linux Kernel for better device compatibility, performance, and features/security
  3. Snap packaging provides a external-dependency free and sandboxed installation and runtime on compatible Linux distros, even outside of the Ubuntu family, greatly increasing the target audience.
    3a. Distros supporting snapd/Store (Arch Linux, CentOS, Debian, elementary OS, Fedora, KDE Neon, Kubuntu, Manjaro, Linux Mint, openSUSE, Red Hat Enterprise Linux, Ubuntu, Raspberry Pi, and others)
    3b. Snaps are compiled, hosted, and distributed for free via the Snap store.
    3c. Snaps can have multiple channels (stable, dev, etc.)
  4. WSL2 allows for running Linux programs natively (using the Linux Kernel) alongside other programs under Windows 10 1903 and above (WSL1 uses binary compatibility, but does not use the Linux Kernel)
    4a. WSL 1/2 images can be distributed via the Microsoft store, allowing easy installation & management by end-user
    4b. WSL dynamically allocates disk, RAM, CPU, and soon GPU, easing deploy and running for end-users as they don’t need to configure Docker host and statically allocate resources

:sparkler::fireworks::sparkler::fireworks::sparkler::fireworks::sparkler::fireworks::sparkler::fireworks:
We are now fully funded!

Thanks to everyone who contributed in any way (donations, sharing, talking, fingers-crossing)!


I’ll close this thread after the funding drive expires.