Re: New Courier packages are available

Sam Varshavchik <[email protected]> Mon, 22 Jun 2026 18:46:27 -0400
Newsgroups gmane.mail.imap.courier.general
Message-ID <[email protected]>
This is a MIME GnuPG-signed message.  If you see this text, it means that
your E-mail or Usenet software does not support MIME signed messages.
The Internet standard for MIME PGP messages, RFC 2015, was published in 1996.
To open this message correctly you will need to install E-mail or Usenet
software that supports modern Internet standards.

--===============5803049694080374955==
Content-Type: multipart/signed;
    boundary="=_ripper.email-scan.com-414310-1782168387-0001";
    micalg=pgp-sha1; protocol="application/pgp-signature"
Content-Transfer-Encoding: 8bit

This is a MIME GnuPG-signed message.  If you see this text, it means that
your E-mail or Usenet software does not support MIME signed messages.
The Internet standard for MIME PGP messages, RFC 2015, was published in 1996.
To open this message correctly you will need to install E-mail or Usenet
software that supports modern Internet standards.

--=_ripper.email-scan.com-414310-1782168387-0001
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

anfibiosdeasturias-2--- via courier-users writes:

> Hello
>
> What is the point of rewriting courier suite from C to C++?
>
> This is an honest question, really just to know the motivation, not to =
be =20
> controversial.

Yes, it's a fair question.

> Rewriting mature and server-critical software is unusual.

Yes.

> Object-oriented programming doesn't seem to offer much for e-mail manag=
ement.

Not specifically, but it does offer much for advanced, productive, and mo=
re =20
effective software development. Email is deceptively complicated.

It's going to be a lot easier to do something complex in C++ rather than =
in =20
C. C++ is what I would use to write Courier from scratch, today.

I do not have any firm, specific plans in the moment. But if something co=
mes =20
up I want to have a solid, C++-based foundation to work with.

> Rewriting implies introducing new errors, something generally undesirab=
le in =20
> critical software like an e-mail server where stability is paramount an=
d =20
> mature software, whose stable code has proven error-free over many year=
s of =20
> use, is highly valued.

That's always a risk. But, it's a manageable risk.

> C++ changes considerably more between its successive published standard=
s =20
> than C.

Yes, and in backwards-incompatible ways, quite often. And I do think that =20
recent revisions of C++ have gone overboard, somewhat. But there are far =20
more good things C++ has going for itself, than its warts.

> If the concern is that languages =E2=80=8B=E2=80=8Bwith manual memory m=
anagement allow human =20
> memory mistakes if proper attention is not paid when writing programs, =
C++ =20
> is in the same boat as C.

Well, no, no it's not. It's in a much, much better boat. Well-written C++ =20
code makes all tedious, mind-numbing, memory management obligations go aw=
ay. =20
C++ takes care of memory management, by itself, leaving you to focus on t=
he =20
task at hand.

> Thank you for maintain courier.

Appreciated.

The capsule summary is that I want to be in a good position if and when I =20
decide to do some new work. I was very close to doing that several years =20
ago, but I dreaded the thought of working with the existing C codebase. =20

There's still plenty of C code left, but all the major moving pieces are =
now =20
in C++, and are positioned very well in case something comes up. Ultimate=
ly =20
I decided to hold off on starting something substantial, but it's now a =20
viable option.



--=_ripper.email-scan.com-414310-1782168387-0001
Content-Type: application/pgp-signature
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----

iHUEABYKAB0WIQRupkKLJP96aW75pIOKYPgoojZS4gUCajm7QwAKCRCKYPgoojZS
4kMmAQCi48TfOVTm+6SsUxI1yUUzL1afz14j+qESGfwqK8JlkQD7BXorxToiQbO5
0OxC4fLqNvjpgpwJ9zjM1S1AHw7i9Q8=
=Jl9m
-----END PGP SIGNATURE-----

--=_ripper.email-scan.com-414310-1782168387-0001--


--===============5803049694080374955==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline


--===============5803049694080374955==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
courier-users mailing list
[email protected]
Unsubscribe: https://lists.sourceforge.net/lists/listinfo/courier-users

--===============5803049694080374955==--