So Google’s admitted that Android is not open source. Some parts are, some parts are not. That’s the same with iOS. Many parts of iOS are from open source projects (I’ll mention cups, the printer stack on many Linux systems, that is very much supported by Apple, even though it’s GPL). Heck, even Microsoft Windows has components from open source projects (the ftp client being my favourite example). To me, it’s not so much about these projects being open source, as what do they give back to the open source projects.

The kernel and userland of both OS X and iOS is based on various BSD systems, I believe for the most part FreeBSD, and put into their own BSD system called Darwin. Darwin is open source and under the BSD license. Now, I’m sure Apple makes many changes that are so specific for their use and their scenarios that you don’t necessarily want these changes committed back as they may be a diversion from the project rather than something that’s good for the project. However, I’m sure they make great improvements to the OS, and for me the real benchmark of their openness is how fast these changes flow back to the originating changes and thus become a benefit for all parts. Unlike cups which is under GPL, Apple isn’t required to send this code back. I don’t mind that at all, but I still hold that my benchmark for their openness is how much useful code they volunteer back to the originating project.

I’d love to hear how many changes made by the Android development have benefitted the originating open source projects. I have an idea about how much Apple has committed back to the FreeBSD project, but I don’t have any solid facts at the moment, so if anyone does, that’d be great to hear. :-) Hey, even hearing how much Microsoft’s mobile offering has led to improved code being committed back to open source projects not originating at Microsoft would be great hearing about. I’m looking forward to reading your comments


I’d like to quote Mattheson from Der vollkommene Capellmeister. In his foreword (I read from the english translation that’s close to impossible to get hold of these days. Publishers take note: this book requires a reprint!) he writes:
`
In France they say:

A passable meldoy or verse
Is not worth the devil.

Scholars are all of the opinion that it would be impossible for an individual to bring even only one branch of knowledge to perfection; but, in order to do this, it would be absolutely essential that many scholars pool their resources, render mutual assistance, and work collectively. For experience shows that nothing of significance is achived until matters are taken up through such cooperation.
`

I think this is one of the nicest places I’ve ever found support for the open source movement. And science for that matter. Words of note: mutual assistance, work collectively. Go out, do your work, share your insights and show us how you did it


This is most of all meant as a note-to-self to next time I’ll have to do this.

Installed the port mail/courier-authlib with the following options:

WITH_PAM=true

WITHOUT_VPOPMAIL=true

WITH_MYSQL=true

WITHOUT_POSTGRESQL=true

WITHOUT_LDAP=true

WITHOUT_GDBM=true

WITH_AUTHUSERDB=true

Installed Postfix with SASL2 and TLS. Config to Postfix’ main.cf:

smtpd_sasl_auth_enable = yes

smtpd_sasl_local_domain =

broken_sasl_auth_clients = yes

smtpd_sasl_security_options = noanonymous

SASL2 needs “-r -a pam” flags in /usr/local/etc/rc.d/saslauthd.sh and the following in /usr/local/lib/sasl2/smtpd.conf:

pwcheck_method: saslauthd

mech_list: PLAIN LOGIN

Finally, /etc/pam.d/smtp:

column=password crypt=0 logtable=log logmsgcolumn=msg logusercolumn=user loghostcolumn=host logpidcolumn=pid logtimecolumn=time sqllog=1

auth required pam_mysql.so user=postfix passwd=xxxx host=host.domain.tld db=postfix table=mailbox usercolumn=username passwdcolumn=password crypt=0 logtable=log logmsgcolumn=msg logusercolumn=user loghostcolumn=host logpidcolumn=pid logtimecolumn=time sqllog=1

# account

account required pam_mysql.so user=postfix passwd=xxxx host=host.domain.tld db=postfix table=mailbox usercolumn=username passwdcolumn=password crypt=0 logtable=log logmsgcolumn=msg logusercolumn=user loghostcolumn=host logpidcolumn=pid logtimecolumn=time sqllog=1

# session

session required pam_permit.so

That should really be all there is to it.


FreeBSD’s maintainability has been measured according to an index suggested by Ioannis Samoladas et al.