Author Topic: Sailfish OS App for PWM: I'm writing one and would now like to publish it...  (Read 1485 times)

Offline soulsource

  • Normal Members
  • *
  • Posts: 6
Hi!

I've been working on a native Sailfish OS app that would aim to be compatible with PasswordMaker Pro.

My use case is that I'm using PWM Pro on the desktop, but the version of the Android App that's in F-Droid is ancient, and doesn't work on the Android compatibility layer offered by modern Sailfish OS versions any more. The other hash-based password generators in Sailfish Store seem to be incompatible with PasswordMaker Pro.
Sooo, I decided to get hacking in my spare time.

The app is a complete reimplementation with all the business logic implemented in Rust, and no source code shared with the original PasswordMaker Pro.
However, it's not a clean room implementation, as I've looked up how some things behave in PasswordMaker Pro by reading the source of the JavaScript edition.

I'm writing here to make sure that it's OK if I publish the app on the Sailfish OS Store, under the following license terms:
  • I'll be very clear on the application's "About" page and in the Readme file that it is a reimplementation of PasswordMaker Pro and link the website.
  • The business logic of the program will be put in a separate Rust library, I'm planning to call it "passwordmaker-rs". That one would be licensed under LGPL since it should probably be considered a derivative work of PasswordMaker Pro.
  • The application binary itself is going to use Qt (obviously, as it's for Sailfish OS), and will therefore be published under GPL.

I'm of course planning to upload the sources to Github, but before I put them publicly on the internet, I'd like to get the OK to actually do that.

Then there's also the topic of naming and artwork, where I'd like to get some feedback:
Since I'm not very good at naming things, my current best idea for a program name would be "PasswordSailor" to hint at it being a PasswordMaker derivate, for Sailfish OS. For recognizability I'd use the PWM Pro Logo (the ring) with a sailor's hat on top...
Buut I'm of course open for suggestions here.

Offline Miquel 'Fire' Burns

  • Administrator
  • *****
  • Posts: 1157
  • Programmer
You talked about Qt, and it reminded me that I made a port a long time ago with it: https://sourceforge.net/p/passwordmaker/svn/HEAD/tree/trunk/desktop+qt/ (And yes, the project is old enough that SVN was the main SCM in use on the internet)

I'm fairly certain that the code I wrote might not be usable now, as the version of Qt it was made for may not compile cleanly for modern systems.

This is the code all of the PasswordMaker code is based off of, though you'll have to learn an extension system that is LONG dead: https://sourceforge.net/p/passwordmaker/svn/HEAD/tree/trunk/ff+moz+ns+flock/
"I'm not drunk, just sleep deprived."

Offline soulsource

  • Normal Members
  • *
  • Posts: 6
Thanks a lot!

One of the reasons I started that project was that I wanted to learn to write Rust code, so I did intentionally not reuse the C++ parts of the Qt implementation.
I do actually already have a working prototype of the code, and all that's still missing for pushing a first version to github is the actual separation of the business logic from the UI.

Before it is ready to be actually released as version 1.0 it still needs some polishing of the code and some visual improvements though. Also some integration tests that compare the results of some known-to-be-tricky inputs with PasswordMaker Pro.
That's however all possible after having the draft of the source code online.
(I'll of course link the github as soon as the source code pushed.)

My main question however still is if it's OK for you if I publish it?
« Last Edit: October 08, 2022, 06:40:52 PM by soulsource »

Offline Miquel 'Fire' Burns

  • Administrator
  • *****
  • Posts: 1157
  • Programmer
I'll add it to the wiki when you're done.
"I'm not drunk, just sleep deprived."

Offline soulsource

  • Normal Members
  • *
  • Posts: 6
Thanks!

I've now uploaded the current state of the source code to github, and am planning to submit a first test version to the Sailfish Store ("Harbour") as soon as I have an icon for it and added a German localization.

The two github repositories are PassFish, which is the GUI part, and passwordmaker-rs, which is the actual logic.

Both are far from finished, and I'm planning to still increase code quality after the initial test version is out.

I'll keep you updated regarding the submission to the Sailfish Store (aka: official test version release).

Offline soulsource

  • Normal Members
  • *
  • Posts: 6
News on the Sailfish app:

Since I'm reasonably confident that the logic is now mostly correct, I've uploaded version 0.1.0 of the core logic of the app to crates.io, so other people can easily re-use it in their own Rust projects if they want to:
https://crates.io/crates/passwordmaker-rs

The first test version of the Sailfish app is now also basically done, and I'm aiming for an upload to openrepos and submission to the Sailfish Store QA at some point later this week.
(A friend kindly offered to contribute some visual assets for the app, and I'm currently waiting for them. Code-wise it's already finished and won't see any changes any more before release - unless bugs are discovered.)

Offline soulsource

  • Normal Members
  • *
  • Posts: 6
Finally.
I've finally uploaded version 0.1.0 to OpenRepos: https://openrepos.net/content/soulsource/passfish
The app is now also in cert by Jolla, and with a bit of luck it will soon hit the Jolla Harbour.

Offline soulsource

  • Normal Members
  • *
  • Posts: 6
Sorry, I completely forgot to update here:
The Sailfish App has been released in the Sailfish OS App Store.
I did not find any way to link to it though, as it seems that the app store is only browsable with the respective Sailfish app...

Offline Miquel 'Fire' Burns

  • Administrator
  • *****
  • Posts: 1157
  • Programmer
Added references to it on the Wiki.
"I'm not drunk, just sleep deprived."

PasswordMaker Forums