Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Future of nomacs and call for help/volunteers #987

Open
novomesk opened this issue Sep 8, 2023 · 31 comments
Open

Future of nomacs and call for help/volunteers #987

novomesk opened this issue Sep 8, 2023 · 31 comments

Comments

@novomesk
Copy link
Collaborator

novomesk commented Sep 8, 2023

Hello,

Future of nomacs depends on people who wish nomacs to exist in the future.

nomacs has lot of features, it is not a small project. There is lot of work to do, nomacs needs a team of maintainers. Current rate of development is better than nothing but insufficient for a long term perspective.

The work is needed mostly in the following areas:

  • Maintenance (to make sure nomacs builds when its dependencies upgrade, refactor obsolete code)
  • Review bug reports and provide solutions/fixes.
  • Review Pull requests from one-time contributors
  • Implement requested features, improvements
  • Port for macOS.
  • Testing

I think it will be necessary to fork the project so that we have full control about everything. That is technically not a problem to do, the problem to find people for the team.

The team needs both developers and testers.

1) Developers

I understand that everyone is busy and free time is precious. Infrequent commits are fine but there is need for long-term help, perseverance and to take responsibility for certain areas of code. Lack of previous experience is not a problem, the project is a great opportunity to learn.

2) Testers

The testing is also very important and needed. For example when some developer implements big changes, it is very useful to verify if there are no regressions.

We would need:

  • Windows user(s) who is willing to try development (experimental, unreleased) builds and to provide feedback when needed.
  • Advanced Linux users who are capable to build/compile nomacs from git, install and test and to provide feedback when needed.

If you are willing to keep helping the nomacs project and to be a member of the potential future team, please notify me under this issue. Tell me what you will like to do (as a developer or tester) and what is your motivation (why you wish to help the nomacs project).

If we don't form a team and don't maintain nomacs properly, I guess that nomacs would be gradually removed from many repositories and users will move to other image viewers as a consequence.

@novomesk novomesk pinned this issue Sep 8, 2023
@Mazoch
Copy link

Mazoch commented Sep 9, 2023

I may be littering the thread for which I apologize, but I would just like to say that I have tested several different photo viewers and this one seems the best to me because it works. Every format launches without a problem. Thank you very much for the work you put into this project.

If I detect any errors I will certainly report them.

@CSA-IT-Team
Copy link

I would be happy to be a Windows tester however at present I would need the builds to be created so I can install them. I can offer testing in a desktop and RDP environment (Windows Server 2022).

@novomesk
Copy link
Collaborator Author

@CSA-IT-Team Thank you.

The builds for Windows are created automatically almost after each commit on AppVeyor. Also when someone make a pull request with new features, there is a build on AppVeyor. The builds are available publicly 1 month. I'll notify you when I need to test some changes.

@Galaxoid-333
Copy link

The main advantage of Nomacs is that it is fast. But there are also shortcomings that make work difficult. In fact, I know of two similar image viewing applications: Nomacs and ImageGlass. Other applications are not suitable at all.

p.s. It would be good to think about changing the name to something more intelligible.

@Serl0p
Copy link

Serl0p commented Sep 24, 2023

I've been using Nomacs for the last year and really love it. I have a Windows 11 laptop, and would be happy to help with testing! If I knew how to code I'd love to help develop, but I have no experience 😅

@Galaxoid-333
Copy link

So, what is next?

@leejuyuu
Copy link
Collaborator

@novomesk Hello, thanks for keeping this project alive! Nomacs has been my favorite image viewer, and I would love to help with its maintenance. Here's where I think I can help:

  • Start triaging the issues. Add tags to help categorize them better, and close duplicates or non-reproducible ones. I would probably need privileges to modify the issues though.
  • I know C++ though I am not very fluent. I can help fix some simpler bugs (slowly).
  • I work on web development in my day job. I'm probably more backend-oriented but could do basic HTML and CSS, so might be able to help resurrect the Nomacs website.

@novomesk
Copy link
Collaborator Author

@leejuyuu Your willingness to help is welcomed.

Regarding the work on website, please contact @mmahmoudian who has access to the domain/website.

@mmahmoudian
Copy link
Member

@leejuyuu @novomesk the issue I have been facing at the moment is making the Github Action to work:

https://github.com/nomacs/nomacs.github.io/blob/main/.github/workflows/build.yml

@leejuyuu
Copy link
Collaborator

@novomesk Thanks for the reply!
@mmahmoudian Could you provide some details? I see that the build and deployment were successful.

@mmahmoudian
Copy link
Member

@leejuyuu I managed to fix the CI/CD and it now works. A minimal website for the test is up. I think from this point on wards it would be straightforward to contribute to the website like any other Github repo.

@leejuyuu
Copy link
Collaborator

@novomesk Is it possible to add more tags? I would like to have "docs" and "translation" as well so that it can be easier for contributors to find.

@Galaxoid-333
Copy link

@leejuyuu I managed to fix the CI/CD and it now works. A minimal website for the test is up. I think from this point on wards it would be straightforward to contribute to the website like any other Github repo.

Now we need more people to know about this new repository for Nomacs.

@novomesk
Copy link
Collaborator Author

@leejuyuu you can add the tags you need.

@leejuyuu
Copy link
Collaborator

@novomesk Thanks!

@leejuyuu
Copy link
Collaborator

Another question, do you think discussions about documentation belong in this repo or the nomacs.github.io repo? Managing them in one place might make them easier to find, but now that the codes are separated.

@mmahmoudian
Copy link
Member

@leejuyuu In my opinion we should consider two points:

  1. They were not previously separated either, so same practice as before with the exception that there is a better link between the website and the code repo
  2. We should consider the audience. Which layout/platform would they feel more comfortable with when reading documentation. Github or website.

imho the very technical documentations can live in the main repo (and perhaps mirrored on the website), and the general documentation live on the website. Then the only issue left would be how to define what is technical and what is general.

@leejuyuu
Copy link
Collaborator

I probably should phrase it like this:
Should the issues about the user-facing documentation live in the main repo or the website repo?

It seems more likely that users report things in the main repo and we probably should keep it that way. Then the problem is whether to move the issues. I'm currently thinking that it might not be necessary, as long as they can be referenced from another repo.

@Coldtrain320
Copy link

How would a regular user like me go about making a suggestion on the software for performance and security to keep up with times using Nomacs? My suggestion is updating the latest bit of the code to qt6 since a lot of people use qt6 now a days. Sorry if you all hate my suggestion.

@Coldtrain320
Copy link

I probably should phrase it like this: Should the issues about the user-facing documentation live in the main repo or the website repo?

It seems more likely that users report things in the main repo and we probably should keep it that way. Then the problem is whether to move the issues. I'm currently thinking that it might not be necessary, as long as they can be referenced from another repo.

Also if your talking about moving the issues from the main repo you could do it like my favorite adblocker UblockOrgin and look at their repo for an example on how they did it @leejuyuu

@leejuyuu
Copy link
Collaborator

leejuyuu commented Feb 8, 2024

I probably should phrase it like this: Should the issues about the user-facing documentation live in the main repo or the website repo?

It seems more likely that users report things in the main repo and we probably should keep it that way. Then the problem is whether to move the issues. I'm currently thinking that it might not be necessary, as long as they can be referenced from another repo.

Also if your talking about moving the issues from the main repo you could do it like my favorite adblocker UblockOrgin and look at their repo for an example on how they did it @leejuyuu

Thanks for the suggestion, but my question is about whether to move, not how to move.

@novomesk
Copy link
Collaborator Author

novomesk commented Feb 8, 2024

@Coldtrain320

My suggestion is updating the latest bit of the code to qt6 since a lot of people use qt6 now a days. Sorry if you all hate my suggestion.

The suggestion to port code to Qt6 is good. We know that KDE is moving to Qt6 too and Qt5 is becoming obsolete.

We just need people who would turn that suggestion into reality - developers and testers.

If you are on Windows, you can help us by testing latest development build https://ci.appveyor.com/project/diemmarkus/nomacs/builds/49142263/artifacts and to check if there are not regressions compared to previous releases.

Preparations for Qt6 already started. However recent changes has to be tested/verified by experienced users. Sometimes it happens that new changes create new bugs.

@Coldtrain320
Copy link

Coldtrain320 commented Feb 9, 2024

I'll test it but I wouldn't know what I am looking for as bugs and how to report it on github on this version on Windows.

@ppenguin
Copy link

ppenguin commented Apr 2, 2024

The suggestion to port code to Qt6 is good. We know that KDE is moving to Qt6 too and Qt5 is becoming obsolete.
We just need people who would turn that suggestion into reality - developers and testers.

Preparations for Qt6 already started. However recent changes has to be tested/verified by experienced users.

I'll make a nix package nomacs-qt6, which will enable nix users to easily run e.g. master builds in production to make real-life testing easier.

The prerequisite for this is that a qt6-based development build from a current branch can be built in the "usual" way and works generally.

@Coldtrain320
Copy link

Anyway to add .dds format viewing on the windows application ?

@novomesk
Copy link
Collaborator Author

novomesk commented Apr 5, 2024

Anyway to add .dds format viewing on the windows application ?

The question is not related with subject of this thread.

If you want, build this plug-in and add your qdds.dll to enable viewing of the DDS files.

Here is the info why the plug-in is not built by default: qt/qtimageformats@06ee5a2

@Coldtrain320
Copy link

Well that is sad then and no I don't trust my self making builds of any software

@raxleys
Copy link

raxleys commented Apr 10, 2024

@novomesk I have ~3 years of professional C++ experience, but I've never worked with QT or on a cross-platform application (only developed for Linux).

Nomacs is one of my favorite image viewers, and it'd be great to see it back in my distro's repos one day. I'm interested in contributing as a developer (feature implementation/bug fixes), but am wondering what kind of commitment would be expected - I've never contributed to open source before.

@novomesk
Copy link
Collaborator Author

@raxleys You yourself decide how many hours per month you want to dedicate to the project. There are many things to do, there are unfixed bugs, feature requests, etc. Choose anythings and discuss in the Matrix chat room what you would like to do next.

@raxleys
Copy link

raxleys commented Apr 11, 2024

@novomesk thanks, I'll start by looking through the issues then

@scrubbbbs
Copy link
Contributor

I am new to the code (about one week), I think a fork is a good idea if the core devs are hesitant or simply unavailable to promote anyone to merge PRs or be an active committer.

I like the software, have been using it forever but never tried fixing anything until recently. I am mostly interested in improving zip file support and have been through most of the core code looking at how to solve it, and have already hacked together a branch with a lot of improvements. But I'm not sure if I can dice it up into small enough PRs to get it merged or will have the patience for a drawn out process.

I am not a fan of the code at the moment, it seems too verbose and pedantic, a bit saturated with redundant sanity checks and yet virtually no assertions. There is a lot of dead and trivial code too - which is a matter of taste I know but for a project of this caliber it seems like too much. While fixing a segfault today I also found out the way threads are being used is not great either which can wreak all sorts of havok.

With all that said I am leaning towards feature freezing the project until a there is a major bug-hunt effort, refactoring effort, all new bugs are squashed and a lot of the cruft can be deleted. I don't think it is in a state to pile on new features or port to Qt6 for example. To survive I think it needs a really stable and glitch-free release right now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests