[Podofo-users] [RFC] pdfmm 0.9.20 released and offer to merge back to PoDoFo

2022-02-12 Thread Francesco Pretto
Hello Dominik, PoDoFo maintainers, contributors and users,

I'm happy to announce that after other months of strong development
pdfmm, the PoDoFo fork I talked about last year, reached its first tagged
release 0.9.20. The big list of changes[1] is comprensive of the changes
of the first announce[2] together with latest features that I will summarize
below:

- A new PdfDynamicEncoding class has been added and set as the default
encoding in font creation. The dynamic encoding is a CID encoding that
gets built automatically when encoding strings. That is: Unicode
characters are automatically mapped to arbitrary CID characters and a
valid /ToUnicode map is created in the font when embedding. This mean
you can just do painter.DrawText("Unicode string АБВГДЕЁ", x, y) and
forget about picking or building a right PdfEncoding for the font.
Beware: this doesn't yet mean full text shaping/ligatures support, but
it's a big step in the right direction for supporting more complex scripts,
such as arabic and asian ones;
- Standard14 fonts coming from PDFium[3] (PDFium is a recent pdf
renderer developed by google) have been bundled, enabling full font
embedding of such fonts;
- A new PdfContentsReader class has been added: this class completely
replaces the old PdfContentsTokenizer (which was removed), providing
Pdf operators recognition and XObject following. This class is going
to be the core tool in building a PDF renderer and other PDF processing
operations;
- C++ move semantics has been added to most core classes
(PdfVariant/PdfObject/PdfArray/PdfDictionary), allowing to improve
performance in parsing indirect objects and page contents. I don't
have measurements but this effectively halved the timings of my test
suites. A lot other of micro optimizations appear to be possible following
this move;
- PDF/A preservation: the original PoDoFo library is not able to
manipulate a PDF/A compliant file without loosing this compliance.
pdfmm is now able to perform saves/incremental saves preserving the
compliance (that is: updating the XMP metadata and respecting some
serialization restrictions of PDF/A);
- The automatic unit tests have been restored and a full-fledged
continuous integration for Windows, linux and mac has been implemented
using on github actions[4];
- A playground area with full set of static dependencies built for
Win64, macos-x86_64, linux-x86_64 has been prepared[5]. While the
dependencies will comes without warranty, this makes testing/developing
pdfmm completely hustle-free;
- A lot of bug fixes and other things that I forget about, just look the
changelog and git commit descriptions.

While I still somehow don't recommend anyone to use pdfmm until I
settle the API review (something that I plan to do together with other tasks
before this summer in a 0.10.x release[6]) and assuming the C++ PDF
manipulation user base to be quite small, I begin to think that pdfmm
won't be ignored for much longer. pdfmm is at least 1 man year worth of
work ahead of PoDoFo and represents a solid improvement in features
and API quality, with a very little set of features dropped (only the broken
PDF linearization support has been removed and Type1 font subsetting
is temporarily disabled) and while I noticed a couple of interesting
PoDoFo 0.9.x patches emerging (stack guards and modern encryption
protocols) I doubt anyone at this point is really doing the same kind
of active development I am pushing into pdfmm (or at least nobody talk
about it openly in the PoDoFo mailing list). I thought a lot about my
relationship with the PoDoFo project in these months and while I like to
work without constraints and still aim to push for my vision of what
a modern C++ PDF manipulation should be, I am concerned that this
work may not settle in the long run. Convinced by zyx's openings in a
recent discussion[7] I offer the community to merge back this work to
PoDoFo. I am going to do this work at some conditions, which should be
seen more as a concrete plan of action:

1) PoDoFo project should be split in two different subprojects,
one covering the library and unit tests, one covering the tools.
I will initially maintain the new library and test code, and keep this
role until the I feel a good fit for the role and the community is
comfortable with my work. Other people should take a step forward and
show interest in porting the PoDoFo tools, which I will not maintain
as a whole (I can port/maintain one or two). The old PoDoFo 0.9.x
codeline will be branched and maintained separately by current people;
2) pdfmm should be accepted as a whole replacement of the PoDoFo
library and test code, that will converge to a 1.0 release. pdfmm name
references will be renamed back to PoDoFo before the move. Also
PoDoFo 0.9.x latest commits will be merged to the new PoDoFo 1.x.y
series (pdfmm is already currently in sync with SVN trunk). Some
commits/patches will not be merged because unnecessary or the same
features can be obtained in new ways. I am **not**

Re: [Podofo-users] [RFC] pdfmm 0.9.20 released and offer to merge back to PoDoFo

2022-02-14 Thread Dominik Seichter via Podofo-users
Hi Francesco,

First of all, congratulations on the release and thanks for all the
information.
I will go through your notes and also other mails, but wanted to give you
some feedback at first.

Kind regards,
 Dominik

On Sat, Feb 12, 2022 at 7:16 PM Francesco Pretto  wrote:

> Hello Dominik, PoDoFo maintainers, contributors and users,
>
> I'm happy to announce that after other months of strong development
> pdfmm, the PoDoFo fork I talked about last year, reached its first tagged
> release 0.9.20. The big list of changes[1] is comprensive of the changes
> of the first announce[2] together with latest features that I will
> summarize
> below:
>
> - A new PdfDynamicEncoding class has been added and set as the default
> encoding in font creation. The dynamic encoding is a CID encoding that
> gets built automatically when encoding strings. That is: Unicode
> characters are automatically mapped to arbitrary CID characters and a
> valid /ToUnicode map is created in the font when embedding. This mean
> you can just do painter.DrawText("Unicode string АБВГДЕЁ", x, y) and
> forget about picking or building a right PdfEncoding for the font.
> Beware: this doesn't yet mean full text shaping/ligatures support, but
> it's a big step in the right direction for supporting more complex scripts,
> such as arabic and asian ones;
> - Standard14 fonts coming from PDFium[3] (PDFium is a recent pdf
> renderer developed by google) have been bundled, enabling full font
> embedding of such fonts;
> - A new PdfContentsReader class has been added: this class completely
> replaces the old PdfContentsTokenizer (which was removed), providing
> Pdf operators recognition and XObject following. This class is going
> to be the core tool in building a PDF renderer and other PDF processing
> operations;
> - C++ move semantics has been added to most core classes
> (PdfVariant/PdfObject/PdfArray/PdfDictionary), allowing to improve
> performance in parsing indirect objects and page contents. I don't
> have measurements but this effectively halved the timings of my test
> suites. A lot other of micro optimizations appear to be possible following
> this move;
> - PDF/A preservation: the original PoDoFo library is not able to
> manipulate a PDF/A compliant file without loosing this compliance.
> pdfmm is now able to perform saves/incremental saves preserving the
> compliance (that is: updating the XMP metadata and respecting some
> serialization restrictions of PDF/A);
> - The automatic unit tests have been restored and a full-fledged
> continuous integration for Windows, linux and mac has been implemented
> using on github actions[4];
> - A playground area with full set of static dependencies built for
> Win64, macos-x86_64, linux-x86_64 has been prepared[5]. While the
> dependencies will comes without warranty, this makes testing/developing
> pdfmm completely hustle-free;
> - A lot of bug fixes and other things that I forget about, just look the
> changelog and git commit descriptions.
>
> While I still somehow don't recommend anyone to use pdfmm until I
> settle the API review (something that I plan to do together with other
> tasks
> before this summer in a 0.10.x release[6]) and assuming the C++ PDF
> manipulation user base to be quite small, I begin to think that pdfmm
> won't be ignored for much longer. pdfmm is at least 1 man year worth of
> work ahead of PoDoFo and represents a solid improvement in features
> and API quality, with a very little set of features dropped (only the
> broken
> PDF linearization support has been removed and Type1 font subsetting
> is temporarily disabled) and while I noticed a couple of interesting
> PoDoFo 0.9.x patches emerging (stack guards and modern encryption
> protocols) I doubt anyone at this point is really doing the same kind
> of active development I am pushing into pdfmm (or at least nobody talk
> about it openly in the PoDoFo mailing list). I thought a lot about my
> relationship with the PoDoFo project in these months and while I like to
> work without constraints and still aim to push for my vision of what
> a modern C++ PDF manipulation should be, I am concerned that this
> work may not settle in the long run. Convinced by zyx's openings in a
> recent discussion[7] I offer the community to merge back this work to
> PoDoFo. I am going to do this work at some conditions, which should be
> seen more as a concrete plan of action:
>
> 1) PoDoFo project should be split in two different subprojects,
> one covering the library and unit tests, one covering the tools.
> I will initially maintain the new library and test code, and keep this
> role until the I feel a good fit for the role and the community is
> comfortable with my work. Other people should take a step forward and
> show interest in porting the PoDoFo tools, which I will not maintain
> as a whole (I can port/maintain one or two). The old PoDoFo 0.9.x
> codeline will be branched and maintained separately by current people;
> 2) pdfmm should 

Re: [Podofo-users] [RFC] pdfmm 0.9.20 released and offer to merge back to PoDoFo

2022-02-20 Thread zyx
Hi,
I'm not the decision maker here, but I understood you'd like my opinion
on the matter too, I guess because I help with the pending patches
(eeks, I track several patches on this mailing list to be
"reviewed"/committed), even my review skills are pretty bad.

On Sat, 2022-02-12 at 19:16 +0100, Francesco Pretto wrote:
> 1) PoDoFo project should be split in two different subprojects,
> one covering the library and unit tests, one covering the tools.

While I understand your reason behind this, I'd rather not split it.
See the PoDoFo Browser state (it required updates after API changes in
PoDoFo, but it was unnoticed, because it's out of the PoDoFo project
itself). Better to keep the tools together with the library, thus they
stay in sync with the library itself (as least can compile).

> 2) pdfmm should be accepted as a whole replacement of the PoDoFo
> library and test code, that will converge to a 1.0 release.

I agree, once the dust settles the 1.0 release can be done.

> 3) PoDoFo development is moved without further doubts to a modern
> git based development platform such as github/gitlab/...

I feel kind of sentiment with the Source Forge, but I also agree there
are better tools these days. Being it just about git, Source Force can
do it too, but there are more benefits with GitHub/GitLab, like CI/CD,
as you mentioned. My personal preference would be GitLab, but it's
really just the personal preference, because I work with it more.
You've things up and running on GitHub, thus it can be it too.

> 4) As soon as the the new development platform is defined and set up,
> the old SourceForge web site begins to inform of the existence of the
> new platform.

Sure, it's just about the web page, which can stay on the Source Forge,
together with the mailing list.

Again, this is only my personal opinion. As you can see, your proposal
sounds good to me.

Bye,
Milan 'zyx' Crha


___
Podofo-users mailing list
Podofo-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/podofo-users


Re: [Podofo-users] [RFC] pdfmm 0.9.20 released and offer to merge back to PoDoFo

2022-02-20 Thread Francesco Pretto
On Sun, 20 Feb 2022 at 19:05, zyx  wrote:
> but I understood you'd like my opinion
> on the matter too, I guess because I help with the pending patches
> (eeks, I track several patches on this mailing list to be
> "reviewed"/committed)
>

That's very helpful maintenance work that will always be welcome. I
still don't know if I will be able to do patches review in a timely
manner, we'll see. As I explained several times I am more into active
development with my priorities.

> > 1) PoDoFo project should be split in two different subprojects,
> While I understand your reason behind this, I'd rather not split it.

I understand your point. But I state that I'm not currently
unavailable to port PoDoFo tools to the new API, also because I don't
use them so I would not be the right person to test if they still work
or not. Also there's a licensing problem: tools (and tests) are GPL.
This basically makes sourcing code from them into the library
impossible, even if may possibly make sense. I'm very uncomfortable
with this: if tools are in the same repository they should be the same
license of the library, to not create such problems. Please also have
a look to my proposal to relicense PoDoFo to (slightly) more
permissive terms[1].

> My personal preference would be GitLab, but it's
> really just the personal preference, because I work with it more.

I think GitLab is a very good platforms too, but I also think that
GitHub will give us a little bit more visibility, which is also
important for an undermanned project like PoDoFo.

> Sure, it's just about the web page, which can stay on the Source Forge,
> together with the mailing list.
>

Sure.

> Again, this is only my personal opinion. As you can see, your proposal
> sounds good to me.
>

Thank you, I appreciate it.

Cheers,
Francesco

[1] 
https://www.mail-archive.com/podofo-users@lists.sourceforge.net/msg04719.html


___
Podofo-users mailing list
Podofo-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/podofo-users


Re: [Podofo-users] [RFC] pdfmm 0.9.20 released and offer to merge back to PoDoFo

2022-02-20 Thread zyx
On Sun, 2022-02-20 at 22:04 +0100, Francesco Pretto wrote:
> Also there's a licensing problem: tools (and tests) are GPL.
> This basically makes sourcing code from them into the library
> impossible

Hi,
I do not think so. It's very common to have different parts of the code
base licensed under different terms. There's nothing wrong about that.
It's not only about the code, for example the user documentation is
under different license than the source code itself.
Bye,
zyx


___
Podofo-users mailing list
Podofo-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/podofo-users


Re: [Podofo-users] [RFC] pdfmm 0.9.20 released and offer to merge back to PoDoFo

2022-02-21 Thread Francesco Pretto
On Mon, 21 Feb 2022 at 08:53, zyx  wrote:
>
> On Sun, 2022-02-20 at 22:04 +0100, Francesco Pretto wrote:
> > Also there's a licensing problem: tools (and tests) are GPL.
> > This basically makes sourcing code from them into the library
> > impossible
>
> I do not think so.

Maybe I was not clear enough, I will make an example. Some time ago I
wanted to make a text extraction API: I looked at podofotxtextract[1]
but tools are GPL so I could not just copy from there. Luckily enough
podofotxtextract was quite simplistic/limited, but the point is clear:
if I want to make turn a tool into an API, for the benefit of
everybody, I can not because that would be move GPL into LGPL which is
license incompatible (the other way is fine).

> It's very common to have different parts of the code
> base licensed under different terms. There's nothing wrong about that.

There's nothing wrong, but this doesn't mean it's always convenient.
For example test code: they are just snippets of code mostly using
PoDoFo library in the right way. What's the rationale of enforcing
copyleft (GPL) for such code? From my point of view, such code should
be to most permissive license as possible, to the point of marking it
clearly "public domain", so everybody just feel free to verbatim copy
from it.

> It's not only about the code, for example the user documentation is
> under different license than the source code itself.

Sure. But documentation is often licensed in different terms because
source code license terms mostly don't apply with the nature of
documentation.

[1] 
https://sourceforge.net/p/podofo/code/HEAD/tree/podofo/trunk/tools/podofotxtextract/TextExtractor.cpp


___
Podofo-users mailing list
Podofo-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/podofo-users


Re: [Podofo-users] [RFC] pdfmm 0.9.20 released and offer to merge back to PoDoFo

2022-02-21 Thread zyx
On Mon, 2022-02-21 at 09:24 +0100, Francesco Pretto wrote:
> if I want to make turn a tool into an API, for the benefit of
> everybody, I can not because that would be move GPL into LGPL which
> is license incompatible (the other way is fine).

Hi,
I see, thanks for the clarification. I agree it makes sense to relax
the licenses on the tools too, if the licenses will be changed in the
future. Extracting the tools into a separate project won't change
anything on the arguments you provided. For a simplicity of the project
maintenance it still makes sense to keep them together, from my point
of view.

You mentioned that you cannot properly test the tools, that it's one of
the (other) reasons you'd like to split the tools out of the project. I
do not ask you to maintain the tools, especially their functionality,
the unit tests are there to test the PoDoFo code. If the tools have
bugs, then the tools can be fixed. That's fine. Knowing that the tools
can be compiled when the core library API changes is an essential
thing, which can be achieved for free, just by keeping them in the same
code base.

> But documentation is often licensed in different terms because
> source code license terms mostly don't apply with the nature of
> documentation.

Yeah, that was my main point, a little hidden in the paragraph. There
are cases where different parts cannot use the same license.
Bye,
zyx


___
Podofo-users mailing list
Podofo-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/podofo-users


Re: [Podofo-users] [RFC] pdfmm 0.9.20 released and offer to merge back to PoDoFo

2022-02-21 Thread Francesco Pretto
On Mon, 21 Feb 2022 at 11:25, zyx  wrote:
> For a simplicity of the project
> maintenance it still makes sense to keep them together, from my point
> of view [...] Knowing that the tools
> can be compiled when the core library API changes is an essential
> thing, which can be achieved for free, just by keeping them in the same
> code base.
>

Actually I agree with your point about simplicity. If people are more
comfortable to know that tools can just be compiled with the new API
of course I may evaluate do a last effort to port them, so they can
still reside in the same repository. After a quick fly by, most are
trivial, with the exceptions of podofosign and podofoimpose. It's a
mechanical work and obviously at this time I know the API better. If I
do the port work, I will not resist to normalize the coding style and
reduce the use of C style programming as well ;) .

Please understand that after the port I would still need to "recruit"
people to ensure they actually work as intended. In short words: they
need a maintainer who cares about them.

Cheers,
Francesco


___
Podofo-users mailing list
Podofo-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/podofo-users


Re: [Podofo-users] [RFC] pdfmm 0.9.20 released and offer to merge back to PoDoFo

2022-02-22 Thread zyx
On Mon, 2022-02-21 at 12:17 +0100, Francesco Pretto wrote:
> Please understand that after the port I would still need to "recruit"
> people to ensure they actually work as intended. In short words: they
> need a maintainer who cares about them.

Hi,
sure, that's fine. As far as I can tell, it's no change from the
current state.
Bye,
zyx


___
Podofo-users mailing list
Podofo-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/podofo-users


Re: [Podofo-users] [RFC] pdfmm 0.9.20 released and offer to merge back to PoDoFo

2022-04-08 Thread Dominik Seichter via Podofo-users
Hi Zyx, Hi Francesco,

I also wanted to continue this discussion. Sorry again for the long delay.
If you prefer, we could also have a phone/video chat about these points
(also whoever is interested could join in).

>From my point of view, the most important points/next steps are as follows
(feel free to correct me if I am wrong):

1) Decision on splitting PoDoFo and PoDoFo Tools:
I would prefer to keep them in the same repository to make sure they are in
a buildable state all the time and can also be used as examples for working
with PoDoFo.
@Francesco Pretto  : It would be great if you could take
the additional effort and port them to pdfmm. The diff could also be a nice
migration guideline for the future.

2) Decision on license of PoDoFo Tools:
PoDoFo Tools are currently GPL whereas the library itself is LGPL. This
e.g. makes it hard to copy from tools to the library. From my point of
view, we should align the license so that the tools have the same license
as the library (currently LGPL, for the future see separate discussion).

3) Merging back pdfmm in podofo / replacing podofo with pdfmm:
I would agree to the proposal from Francesco here. We should do one last
release of PoDoFo 0.9.8 based on the current svn trunk and then replace it.
@Zyx: When would be a good point of time for this? Can I just bundle a
trunk, do quick tests and upload it? I am not sure about the current state.

4) Move to Git:
Yes, let's move to Git* and keep website, mailing list on sourceforge.

5) relicensing to MPL:
I am in general open to that, but let's keep discussion in separate mail
thread.


Best regards,
 Dominik




On Tue, Feb 22, 2022 at 9:39 AM zyx  wrote:

> On Mon, 2022-02-21 at 12:17 +0100, Francesco Pretto wrote:
> > Please understand that after the port I would still need to "recruit"
> > people to ensure they actually work as intended. In short words: they
> > need a maintainer who cares about them.
>
> Hi,
> sure, that's fine. As far as I can tell, it's no change from the
> current state.
> Bye,
> zyx
>
>
> ___
> Podofo-users mailing list
> Podofo-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/podofo-users
>
___
Podofo-users mailing list
Podofo-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/podofo-users


Re: [Podofo-users] [RFC] pdfmm 0.9.20 released and offer to merge back to PoDoFo

2022-04-09 Thread Matthew Brincke via Podofo-users
On Friday, 08.04.2022 at 15:38 +0200 Dominik Seichter via Podofo-users
wrote:
> Hi Zyx, Hi Francesco,

Hi Dominik, hi zyx, hi Francesco,
> 
> I also wanted to continue this discussion. Sorry again for the long
> delay. If you prefer, we could also have a phone/video chat
> about these points (also whoever is interested could join in).

firstly, I'm sorry for not posting for so long, I had so much to do IRL
in the meantime. As there seem to be times of change ahead for PoDoFo,
I'd like to assume an active role in the project again.
> 
> From my point of view, the most important points/next steps are as
> follows (feel free to correct me if I am wrong):
> 
> 1) Decision on splitting PoDoFo and PoDoFo Tools: 
> I would prefer to keep them in the same repository to make sure they
> are in a buildable state all the time and can also be used as
> examples for working with PoDoFo.

Seconded.

> @Francesco Pretto : It would be great if you could take the
> additional effort and port them to pdfmm. The diff could also be a
> nice migration guideline for the future.
> 
> 2) Decision on license of PoDoFo Tools: 
> PoDoFo Tools are currently GPL whereas the library itself is LGPL.
> This e.g. makes it hard to copy from tools to the library. From my
> point of view, we should align the license so that the tools have the
> same license as the library (currently LGPL, for the future see
> separate discussion).

I always understood this difference as having a purpose
(in my view, warning people off taking PoDoFo tools and making
something non-free out of them).
> 
> 3) Merging back pdfmm in podofo / replacing podofo with pdfmm:
> I would agree to the proposal from Francesco here. We should do one
> last release of PoDoFo 0.9.8 based on the current svn trunk and then
> replace it. 
> @Zyx: When would be a good point of time for this? Can I just bundle
> a trunk, do quick tests and upload it? I am not sure about the
> current state.

Especially @Dominik: IIRC (I've lurked here in the meantime and looked
in the issue tracker on SourceForge a few times),
there are some patches still outstanding which I'd like to test (using
some "poor man's CI/test automation" locally most likely)
and then apply to SVN trunk, which fix security issues/crashers, so
that I'd be grateful for considering them
necessary for the next release. I'm not currently doing other work (a
day job), so I think I can do this quickly,
I hope starting tomorrow (Sunday). For the other issues labeled
"security" I'd also like to see what I can do
(I hope to produce patches and then handle them like the others, could
you please do too?).
> 
> 4) Move to Git: 
> Yes, let's move to Git* and keep website, mailing list on
> sourceforge.

Yes (after next release, I hope, if I'll succeed in committing with my
mabri SourceForge user account).
Issues which won't be copied to the new version control hosting (to
enable further work on them, after the move,
if the new issue tracker also has such features as e.g. issue states,
besides open/closed, the SourceForge one has)
should be closed at SourceForge, of course (IMHO at least).
> 
> 5) relicensing to MPL:
> I am in general open to that, but let's keep discussion in separate
> mail thread.

I think I'd like to think/discuss more about that (at least it's
copyleft?), in its mail thread.
> 
> 
> Best regards,
>  Dominik

Best regards, mabri
> 
> 
> 
> 
> On Tue, Feb 22, 2022 at 9:39 AM zyx  wrote:
> > On Mon, 2022-02-21 at 12:17 +0100, Francesco Pretto wrote:
> > > Please understand that after the port I would still need to
> > "recruit"
> > > people to ensure they actually work as intended. In short words:
> > they
> > > need a maintainer who cares about them.
> > 
> >         Hi,
> > sure, that's fine. As far as I can tell, it's no change from the
> > current state.
> >         Bye,
> >         zyx
> > 
> > 
> > ___
> > Podofo-users mailing list
> > Podofo-users@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/podofo-users
> ___
> Podofo-users mailing list
> Podofo-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/podofo-users

___
Podofo-users mailing list
Podofo-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/podofo-users


Re: [Podofo-users] [RFC] pdfmm 0.9.20 released and offer to merge back to PoDoFo

2022-04-10 Thread Francesco Pretto
On Fri, 8 Apr 2022 at 15:38, Dominik Seichter
 wrote:
> I also wanted to continue this discussion. Sorry again for the long delay. If 
> you prefer, we could also have a phone/video chat about these points (also 
> whoever is interested could join in).
>

I will try to facilitate the chances to have a virtual meeting among
PoDoFo maintainers/contributors to know each other and take some
decisions. I created a form where interested people can specify some
preferences about this meeting (like preferences for working days or
weekends). If there's enthusiasm enough I can move on and create a
doodle to find an exact day. The link for the form is:

https://docs.google.com/forms/d/e/1FAIpQLSdAQrk_ktmgzJI_eZvevfvAlfG5EsttVftouNO3cfUKT2uUig/viewform?usp=sf_link

You told me there was once a freenode irc #podofo channel. Since
freenode seems to have been abandoned by open source projects, and IRC
is generally definitely less popular in these days, I opened a Discord
channel/server, which could also be possibly used for the virtual
meeting:

https://discord.gg/SAVm4DVN

It's possible to join with browser only.

> 1) Decision on splitting PoDoFo and PoDoFo Tools:
> I would prefer to keep them in the same repository to make sure they are in a 
> buildable state all the time and can also be used as examples for working 
> with PoDoFo.
> @Francesco Pretto : It would be great if you could take the additional effort 
> and port them to pdfmm. The diff could also be a nice migration guideline for 
> the future.
>

I already began doing it. I will inform you about the progresses soon.

Cheers,
Francesco


___
Podofo-users mailing list
Podofo-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/podofo-users


Re: [Podofo-users] [RFC] pdfmm 0.9.20 released and offer to merge back to PoDoFo

2022-04-10 Thread Francesco Pretto
Hello Matthew,

On Sat, 9 Apr 2022 at 23:36, Matthew Brincke  wrote:
>
> 2) Decision on license of PoDoFo Tools:
> PoDoFo Tools are currently GPL whereas the library itself is LGPL. This e.g. 
> makes it hard to copy from tools to the library. From my point of view, we 
> should align the license so that the tools have the same license as the 
> library (currently LGPL, for the future see separate discussion).
>
> I always understood this difference as having a purpose
> (in my view, warning people off taking PoDoFo tools and making something 
> non-free out of them).
>

As I stated, separate licenses makes harder for all to possibly
refactor tools functionalities into APIs, which should be always
doable. This is the most convincing argument to me for having a single
consistent license for tools and library. I add that tests and example
code should be always extremely permissive.

>
>> 3) Merging back pdfmm in podofo / replacing podofo with pdfmm:
>[...]  there are some patches still outstanding which I'd like to test (using 
>some "poor man's CI/test automation" locally most likely)
> and then apply to SVN trunk, which fix security issues/crashers, so that I'd 
> be grateful for considering them
> necessary for the next release [...]

As I mentioned before, my intention is to merge all latest PoDoFo
patches into pdfmm (atm I am just lagging behind few ones) before
pushing for a merge back to PoDoFo, with few exceptions for
unnecessary ones. Nothing useful should be lost.

>
> 5) relicensing to MPL:
> I am in general open to that, but let's keep discussion in separate mail 
> thread.
>
> I think I'd like to think/discuss more about that (at least it's copyleft?), 
> in its mail thread.
>

Yes, MPL 2.0 is still copyleft, but it's more permissive with regard
to static linking. The thread is still there for discussions, and I
invite you to add your opinion as well. I add that the challenge for
PoDoFo is to stay relevant in a world where C++ libraries in general
are less and less required, and I believe the license issue is also a
key factor to keep its relevance in the years coming. Since a
relicensing is going to be costly (few details on this coming very
soon: I am almost finished with a complete list of all PoDoFo
contributors), I asked Dominik if he would consider even more
permissive licenses such as Apache/MIT. I'm waiting for his opinions
on this on the thread, and I ask you to share your thoughts as well.

Cheers,
Francesco


___
Podofo-users mailing list
Podofo-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/podofo-users


Re: [Podofo-users] [RFC] pdfmm 0.9.20 released and offer to merge back to PoDoFo

2022-04-10 Thread zyx
On Fri, 2022-04-08 at 15:38 +0200, Dominik Seichter wrote:
> @Zyx: When would be a good point of time for this? Can I just bundle
> a trunk, do quick tests and upload it?

Hi,
the only leftover patch on the list I had in my to-do was the one I
just committed as r2054. I do not watch the issue tracker on the
SourceForge page, if there is any patch outstanding I'm not aware of
it. It's also possible I lost track of some patches on the mailing
list.

I've also these two threads in my to-do from January:

https://sourceforge.net/p/podofo/mailman/message/37412541/
https://sourceforge.net/p/podofo/mailman/message/37596493/

, but I didn't get to them yet. I do not think anything should be
blocked due to them, they can be addressed anytime later.

Otherwise I'd say you can create a release when you have a time and/or
when mabri finishes the work he promised to do in his mail in this
thread.
Bye,
zyx



___
Podofo-users mailing list
Podofo-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/podofo-users


Re: [Podofo-users] [RFC] pdfmm 0.9.20 released and offer to merge back to PoDoFo

2022-04-13 Thread zyx
On Sun, 2022-04-10 at 23:29 +0200, Francesco Pretto wrote:
> I asked Dominik if he would consider even more
> permissive licenses such as Apache/MIT. I'm waiting for his opinions
> on this on the thread, and I ask you to share your thoughts as well.

Hi,
I reply here, because it's not really related to the relicensing as
such. I had a quick look on the license information in the pdfmm, which
looks like this:

/**
 * Copyright (C) 2007 by Dominik Seichter <>
 * Copyright (C) 2020 by Francesco Pretto <>
 *
 * Licensed under GNU Library General Public License 2.0 or later.
 * Some rights reserved. See COPYING, AUTHORS.
 */

I suggest to use a standard form of the copyright notices, thus any
existing tools can help to aid any discrepancies in this regard. The
SPDX notes are similarly short and easy to decipher. The above would
look like:

/*
 * SPDX-FileCopyrightText: (C) 2007 Dominik Seichter <>
 * SPDX-FileCopyrightText: (C) 2020 Francesco Pretto <>
 * SPDX-License-Identifier: LGPL-2.0-or-later
 */

(note of removed "by" and no '/**' at the beginning - it's because
'/**' can be understood as a documentation comment for tools generating
developer documentation, where these license comments really do not
belong to).

Also, when it comes to it, the sources can be dual-licensed. There are
large/well-known projects doing that.

Just for consideration.

Bye,
zyx


___
Podofo-users mailing list
Podofo-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/podofo-users


Re: [Podofo-users] [RFC] pdfmm 0.9.20 released and offer to merge back to PoDoFo

2022-04-13 Thread Francesco Pretto
On Thu, 14 Apr 2022 at 07:52, zyx  wrote:
> I suggest to use a standard form of the copyright notices, thus any
> existing tools can help to aid any discrepancies in this regard. The
> SPDX notes are similarly short and easy to decipher. The above would
> look like:
>
> /*
>  * SPDX-FileCopyrightText: (C) 2007 Dominik Seichter <>
>  * SPDX-FileCopyrightText: (C) 2020 Francesco Pretto <>
>  * SPDX-License-Identifier: LGPL-2.0-or-later
>  */
>
> (note of removed "by" and no '/**' at the beginning - it's because
> '/**' can be understood as a documentation comment for tools generating
> developer documentation, where these license comments really do not
> belong to).
>

Very good suggestion. My intention was of course having shorter, more
maintainable headers: this SPDX format seems a better solution, we
should adopt it instead.

> Also, when it comes to it, the sources can be dual-licensed. There are
> large/well-known projects doing that.
>

Yes, projects can be dual licensed and some notable ones do it but
that is usually required in the case of mutually incompatible
licenses. For example cairo is dual licensed in LGPL 2.1 + MPL 1.1
because MPL 1.1 is incompatible with LGPL. If you pick a more
permissive license which is compatible with LGPL you don't have such
issue and the dual licensing may be redundant (MPL2 for example is
LGPL compatible). Of course dual licensing could help in case a more
permissive license somehow is found to be incompatible with a future
version of LGPL but that's something quite hard to even imagine. These
comments belong more to the re-licensing thread, let's try to stick to
that thread for licensing related discussions.

Cheers,
Francesco


___
Podofo-users mailing list
Podofo-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/podofo-users