Skip to content

Conversation

@mrdvt92
Copy link

@mrdvt92 mrdvt92 commented Mar 25, 2023

This pull request should fix the issue logged on my queue mrdvt92/perl-Net-MQTT-Simple-One_Shot_Loader#1 by https://github.com/eserte

@Juerd
Copy link
Owner

Juerd commented Mar 25, 2023

You're right that the requirement is missing. However, this bug is intentional, and the reason for it kinda sucks. I apologize if you disagree.

Many people will install Net::MQTT::Simple with cpan rather than a binary package manager, and depending on IO::Socket::SSL means that to install Net::MQTT::Simple, you need to have a full C build environment, which many computers don't have and some people will want to avoid on servers. And that's where I think it's not reasonable to require that, if Net::MQTT::Simple without ::SSL will work perfectly without it, and most users of the module probably use it without SSL anyway.

In my humble opinion, the nicest solution would be if IO::Socket::SSL would be included with Perl itself, just like IO::Socket::IP. (I think you maybe added that for completeness, but it's been part of Perl core for almost a decade now.) Another solution could be to separate Net::MQTT::Simple::SSL into a separate distribution, but that would break existing automated installations where people are using a package list.

So I'm not a big fan of fixing this bug, although I do acknowledge that it is a bug, because fixing it has consequences that I think could be worse than the missing metadata. I'm hoping for Perl to include IO::Socket::SSL in the nearby future. But that's not necessarily going to happen either, see Perl/perl5#20739

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

Successfully merging this pull request may close these issues.

2 participants