Hi Johan

Thank you for taking the time to look at the source code, share your
own experience with KDE and provide some me with some feedback.

> As for the first part you can probably start by creating an account
> with KDE Identity: https://identity.kde.org/
> That way you should be able to log in on invent.kde.org (our Gitlab
> instance and start migrating your repository later. In the meantime
> since your project started life outside of KDE there is an Incubator
> process for getting it onboarded: https://community.kde.org/Incubator

Good idea.  I created myself an account.
I’ll start looking into that later this weekend.

> Additionally, I suggest that you join IRC and/or Matrix, because it is
> a more convenient and low-latency communications channel than e-mail
> to sound out potential contributors and sponsors.

Am-I correct in assuming that IRC and Matrix are the same thing?

> It is always a good
> idea to establish a bit of rapport with the people you'll be working
> with beforehand. :) The chat is also available in your browser via
> https://webchat.kde.org Given that your code is focused on games, I
> guess "KDE games" related channels (if any) will be one good place to
> start announcing your project, as are the main development channels of
> course.
>
> Then during the incubation process you can start preparing for the KDE
> Review of your project by fixing issues that will likely be flagged.
> The entire review process is somewhat documented here:
> https://community.kde.org/Policies/Application_Lifecycle#kdereview Of
> course you can already start work beforehand if you know what you need
> to do :)

There is a lot to read in there.  :)   I probably should start with
then licensing issues and focus all my energy on that.

> From experience (having gone through Keysmith review) a few things stand
> out:


> 1) CMakeLists.txt etc. should integrate with KDE conventions. Keysmith
> got lucky and Friedrich Kossebau fixed most of it for us, but expect
> to put in some work here given that your project is a lot bigger/more
> complex and has a 20 year history or thereabouts. :) You will probably
> want to re-evaluate your meta-tooling (Python generator) here, at
> least for the CMakeLists.txt files.

Great observation. I just updated the CmakeLists.txt. I don’t know how
compliant it is right now but at least it compiles and links.
https://github.com/cfrankb/lgck-src/blob/develop/src/lgck-builder/CMakeLists.txt

I had issues linking against qtGamePad so I left it out to get a
successful build. I suspect it’s because cmake is linking against the
system-wide libraries rather than the qt sdk.

I looked at the CmakeLists from Keysmith and integrated some
directives from there. It helped me solve some of the issues I was
experiencing.

Are there any other projects in KDE that are similar in dependencies
or structure to mine own,  that I could use as a base for my own
CMakeLists files ?

> 2) I18n support. For KDE projects the ki18n framework is expected,
> including some additional boilerplate shell scripts which are used by
> translators and/or automated KDE tooling. However there *are* KDE
> projects (frameworks) using the Qt i18n support with tr() as well, so
> maybe this will be accepted. One argument in your favour is the
> relative maturity of your code base here, at least you do have i18n
> support whereas Keysmith did not when it was submitted for review.

It would be nice if I didn’t have to fix right away.

> 3) Licensing and copyright needs to hold up, be consistent and be
> acceptable under KDE policy guidelines. This is going to be the main
> sticking point if any issues crop up because KDE takes the FL aspect
> of FLOSS seriously. One particular thing is for instance are the
> strings in version.h of your easydoc tool where there is an "All
> rights reserved" stanza, which is patently in violation of the GPL
> which the project source code appears to be licensed under. Similarly
> nearly all your *.cpp files lack licensing and copyright information
> (presumably you intended for the header to serve for both, but that
> cannot work because people can contribute significantly to a header or
> to a cpp file without touching the other thing).

Good catch. Yikes. 100+ files.  I swear that I went through all the
folders and manually added GPL3 notices *everywhere* (okay, that was a
few years ago).  Maybe the files just multiplied since then ;)
That string is for a trademark not a copyright. I dunno if that makes
a difference.

GPL3 was only because of qScintilla but since I removed it, I should
be able to go for LGPL now.

> Note that we are in an ongoing transition w.r.t. how licensing is
> flagged in source files, we are adopting SPDX licensing headers as our
> preferred format. If you choose to adopt SPDX you can use the REUSE
> tool to gauge how well you are doing in terms of how well your
> licensing and copyright information is expressed for automated tools
> (reus) to make sense of.

Deconstructing a reference project is probably the fastest way to get
this going.

> For licensing the following two links are going to be very important,
> you will want to study them a bit to see how well your project is
> doing:
>  * https://community.kde.org/Guidelines_and_HOWTOs/Licensing
>  * https://community.kde.org/Policies/Licensing_Policy
>
> 4) I'm not sure how important code style is, but at least for KDE
> frameworks a code style is defined and you might wish to adopt it to
> better fit in: https://techbase.kde.org/Policies/Frameworks_Coding_Style
> Personally I would hold off on reformatting all your code until people
> really start to complain, and then use it to show yourself to be a
> good KDE citizen rather than put in all the work up front. Fix up
> licensing first, I'd say. :)

I agree. There is so much to fix. I could start with just reformatting
new code as it gets added.

I’m going to write a python script to scan the entire source tree for
missing notices and add them automatically. I’ll remove the All Rights
Reserved from the Windows version headers. Any other GPL
non-conformity that are jarring?

>> Unfortunately, I don't have the time to take care of this process myself,
>
> I mostly don't really have the expertise to "judge". For Keysmith we
> were "lucky" in that the project was started by Bhushan Shah who as a
> KDE member knew what he was getting into and kept a watchful eye on
> code contributions for any potential issues. :)

You have more experience with this than I do and I still have so much
to learn. :)

>> I'm sure someone here will volunteer and help you. Your project looks
>> very
>> nice and I think it will be a positive addition to KDE and hope that
>> being
>> part of KDE will also help LGCK Builder.
>
> Fully agreed.

Thank you both. I feel optimistic that 2020 will be a good year ! :)


Regards.
Frank B.


On 8/14/20, Johan Ouwerkerk <jm.ouwerk...@gmail.com> wrote:
> On Fri, Aug 14, 2020 at 5:33 PM Carl Schwan <c...@carlschwan.eu> wrote:
>>
>> Le vendredi, août 14, 2020 4:44 PM, Francois Blanchette
>> <cfrankb.2...@gmail.com> a écrit :
>>
>> > Hi Carl,
>> >
>> > Thank you for your reply.
>> >
>> > Yes I meant port it to KDE because it is a qt 5.15 compliant
>> > application already.
>> > And yes i want to make LGCK builder a KDE application hosted on KDE
>> > infrastructure as a first step. I would definitely prefer to
>> > integrate with KDE plasma but I see this as a secondary step. I'm
>> > trying to find the path forward which makes most sense.
>> >
>> > What would you recommend?
>>
>> Hi,
>>
>> You will need to find a KDE developer who would like to sponsor your
>> project
>> and make sure that you get developer access to KDE repositories, help you
>> import your project to invent.kde.org and make sure the process happens
>> smoothly :)
>>
>
> As for the first part you can probably start by creating an account
> with KDE Identity: https://identity.kde.org/
> That way you should be able to log in on invent.kde.org (our Gitlab
> instance and start migrating your repository later. In the meantime
> since your project started life outside of KDE there is an Incubator
> process for getting it onboarded: https://community.kde.org/Incubator
>
> Additionally, I suggest that you join IRC and/or Matrix, because it is
> a more convenient and low-latency communications channel than e-mail
> to sound out potential contributors and sponsors. It is always a good
> idea to establish a bit of rapport with the people you'll be working
> with beforehand. :) The chat is also available in your browser via
> https://webchat.kde.org Given that your code is focused on games, I
> guess "KDE games" related channels (if any) will be one good place to
> start announcing your project, as are the main development channels of
> course.
>
> Then during the incubation process you can start preparing for the KDE
> Review of your project by fixing issues that will likely be flagged.
> The entire review process is somewhat documented here:
> https://community.kde.org/Policies/Application_Lifecycle#kdereview Of
> course you can already start work beforehand if you know what you need
> to do :)
>
> From experience (having gone through Keysmith review) a few things stand
> out:
>
> 1) CMakeLists.txt etc. should integrate with KDE conventions. Keysmith
> got lucky and Friedrich Kossebau fixed most of it for us, but expect
> to put in some work here given that your project is a lot bigger/more
> complex and has a 20 year history or thereabouts. :) You will probably
> want to re-evaluate your meta-tooling (Python generator) here, at
> least for the CMakeLists.txt files.
>
> 2) I18n support. For KDE projects the ki18n framework is expected,
> including some additional boilerplate shell scripts which are used by
> translators and/or automated KDE tooling. However there *are* KDE
> projects (frameworks) using the Qt i18n support with tr() as well, so
> maybe this will be accepted. One argument in your favour is the
> relative maturity of your code base here, at least you do have i18n
> support whereas Keysmith did not when it was submitted for review.
>
> 3) Licensing and copyright needs to hold up, be consistent and be
> acceptable under KDE policy guidelines. This is going to be the main
> sticking point if any issues crop up because KDE takes the FL aspect
> of FLOSS seriously. One particular thing is for instance are the
> strings in version.h of your easydoc tool where there is an "All
> rights reserved" stanza, which is patently in violation of the GPL
> which the project source code appears to be licensed under. Similarly
> nearly all your *.cpp files lack licensing and copyright information
> (presumably you intended for the header to serve for both, but that
> cannot work because people can contribute significantly to a header or
> to a cpp file without touching the other thing).
>
> Note that we are in an ongoing transition w.r.t. how licensing is
> flagged in source files, we are adopting SPDX licensing headers as our
> preferred format. If you choose to adopt SPDX you can use the REUSE
> tool to gauge how well you are doing in terms of how well your
> licensing and copyright information is expressed for automated tools
> (reus) to make sense of.
>
> For licensing the following two links are going to be very important,
> you will want to study them a bit to see how well your project is
> doing:
>  * https://community.kde.org/Guidelines_and_HOWTOs/Licensing
>  * https://community.kde.org/Policies/Licensing_Policy
>
> 4) I'm not sure how important code style is, but at least for KDE
> frameworks a code style is defined and you might wish to adopt it to
> better fit in: https://techbase.kde.org/Policies/Frameworks_Coding_Style
> Personally I would hold off on reformatting all your code until people
> really start to complain, and then use it to show yourself to be a
> good KDE citizen rather than put in all the work up front. Fix up
> licensing first, I'd say. :)
>
>>
>> Unfortunately, I don't have the time to take care of this process myself,
>
> I mostly don't really have the expertise to "judge". For Keysmith we
> were "lucky" in that the project was started by Bhushan Shah who as a
> KDE member knew what he was getting into and kept a watchful eye on
> code contributions for any potential issues. :)
>
>> I'm sure someone here will volunteer and help you. Your project looks
>> very
>> nice and I think it will be a positive addition to KDE and hope that
>> being
>> part of KDE will also help LGCK Builder.
>
> Fully agreed.
>
> Regards,
>
> - Johan
>

Reply via email to