
PureDarwin – Darwin-based open source OS - xvilka
https://github.com/PureDarwin/PureDarwin
======
mjg59
From a pedantic point of view, it's not open source - the XNU license has an
additional restriction on top of the Apple Public Source License:

"The rights granted to you under the License may not be used to create, or
enable the creation or redistribution of, unlawful or unlicensed copies of an
Apple operating system, or to circumvent, violate, or enable the circumvention
or violation of, any terms of an Apple operating system software license
agreement."

which is a violation of term 7 of the open source definition.

~~~
c3534l
If we're being pedantic, the Open Source Definition can't actually define what
is and isn't open source, they can only say what is allowed their trademark
certification. It's like if a there was a food label "natural" that got to put
an N on their package if they met some conditions. They can tell you what is
allowed to have the trademark on it, but they can't tell you what natural is
because they're more of a brand than a dictionary.

In my opinion, which is not based on promoting open-source or protecting a
brand, open-source means literally the source code is open to anyone to view.
Open-source is like a book that can be opened to look inside. Most of the open
source initiatives have little to do with whether or not the source code is
open and everything to do with what they want to promote in open-source. Their
criteria doesn't even make the free as freedom versus free as in beer
distinction.

In short, the Open Source Definition, despite it's name, does not actually
define open source.

~~~
phoe-krk
> open-source means literally the source code is open to anyone to view

You mean the term "source available", which has been a well-defined term for
years as well.

~~~
sjwright
I think the point c3534l was making is that _open source_ should be considered
a generic term and should not have its meaning conflated with Open Source™
which is just one group with one opinion.

And I agree, at least in part. I think the agonising over a precise definition
of open source is as futile as the attempts to distinguish "hacker" from
"cracker" twenty years ago. At the same time I also agree that proprietary
software that has available source but no rights to do anything with it is
most definitely _not_ open source by any rational definition.

So whether or not OpenDarwin is Open Source™, it's still open source.

~~~
phoe-krk
I fully understood his point and at the same time disagree with it - "open
source" should not be considered a generic term, and the reasons are purely
practical. OSI has taken this term two decades ago and coined its widely known
meaning, where "open source" means "compliant with the OSI open source
definition", just as GNU did with "free" or "libre" software.

The terms "open source" and "free software" have become ubiquitous in the
programming world and widespread even in popular culture and redefining them
brings completely no benefit - not even cultural ones, since the terms "open"
or "free" or "libre" software do not have background associated with racism or
sexism, unlike some of the recent nomenclature debates.

And this "one group with one opinion" that you are speaking of has been one of
the most powerful software groups in the world with a lot of influence on how
the programming world is shaped and what software you, your family, your
employers, your friends and your enemies use in your daily life, so your
argument about it being "one group with one opinion" holds as much sense to me
as Microsoft being "just one operating system vendor with one opinion" in a
discussion about operating systems.

~~~
sjwright
I simply disagree that the group which coins a term gets to control its usage
or its colloquial definition. That's not a reflection of my preference, it's
just my own observation of reality. In reality, words mean whatever the
recipient thinks it means. In practice, that means the assumptions of the
median person overrule any formal definition.

~~~
Brian_K_White
They didn't write a law for the purpose of oppression and human farming. They
presented a suggestion for everyone's benefit and sanity, and everyone adopted
it voluntarily because it was beneficial and sane.

This argument is neither.

~~~
sjwright
I'm not arguing for benefits or sanity. I'm not claiming it's a good outcome,
or that it's an outcome I prefer. Far from it—I wish it _was_ as you describe.
I wish we didn't have to keep inventing new words as existing ones get
corrupted by improper use.

------
hvs
For the first few years of the 2000's, Apple actually supported a similar
project called OpenDarwin. It was basically the open source components of
MacOS. I ran it for a bit, but there wasn't much community support for it.

[https://web.archive.org/web/20060804104416/http://opendarwin...](https://web.archive.org/web/20060804104416/http://opendarwin.org/)

[https://en.wikipedia.org/wiki/Darwin_(operating_system)#Open...](https://en.wikipedia.org/wiki/Darwin_\(operating_system\)#OpenDarwin)

~~~
x3haloed
That's too bad that community support was lacking. Things might be different
now?

------
em500
Is there any reason for this submission at this time? This project hast been
dormant/stagnant for years.

Note the "stay tuned" message for a working bootabable image from Jan 2018:
[https://github.com/PureDarwin/PureDarwin/issues/35](https://github.com/PureDarwin/PureDarwin/issues/35)

~~~
oefrha
Jan 2020, not 2018. And commit history indicates quite a bit of activity.

~~~
em500
Ok, I read that particular thread a bit more carefully:

2017-11-21: mcandre: "Release a working ISO ASAP"

2018-06-08: csekel: "We will be releasing ISO shortly. Thanks"

2020-01-18: piranna: "Any updates on this? It was one and a half years since
it was anounced the ISO "soon"..."

2020-01-18: hideout: "yes we are on this .... stay tuned!"

(hideout's last public commit to any darwin related repo dates from
2019-10-14)

I was just surprised to see this on the front page today, since it doesn't
look like anything substantial has changed. Maybe something I missed?

~~~
oefrha
HN submissions are often “I found out about this cool thing today and want to
share it with other devs”. Whether it appears on the front page entirely
depends on whether enough people find it interesting (subject to resubmission
rules, of course).

~~~
syspec
The simplicity is amazing, and why i always come back. Links do not always
need to be new. There are good things, which are not new.

Like this one!

~~~
hideout_berlin
thanks for your nice comment syspec

------
brockrockman
NextBSD ("FreeBSD X") operates in a similar space and was also looking
promising, but it looks like development stopped.

In that approach, the BSD kernel was extended to support some Mach syscalls
and libdispatch, launchd, and a few other userspace macOS-isms stuck around
too.

Slides + Video:
[https://www.reddit.com/r/freebsd/comments/3iikry/slides_next...](https://www.reddit.com/r/freebsd/comments/3iikry/slides_nextbsd_aka_freebsd_x_video_in_comments/)

There was also an effort some time ago to get opensource Darwin compiled and
booted on ARM development boards:

[https://github.com/darwin-on-arm](https://github.com/darwin-on-arm)

------
popped
Can someone explain what the motivation is behind running Darwin?

~~~
lewisinc
Continuous integration servers that aren't run on genuine Apple hardware?

~~~
perardi
Wouldn't you have to reverse-engineer and implement a LOT of closed-source
APIs and libraries to get a full iOS toolchain going?

~~~
xvilka
There is a project [1][2] to emulate iOS in QEMU. You can find more details
about installation process and research itself in their articles [3][4].

[1] [https://github.com/alephsecurity/xnu-qemu-
arm64](https://github.com/alephsecurity/xnu-qemu-arm64)

[2] [https://github.com/alephsecurity/xnu-qemu-
arm64-tools](https://github.com/alephsecurity/xnu-qemu-arm64-tools)

[3] [https://alephsecurity.com/2019/06/17/xnu-qemu-
arm64-1/](https://alephsecurity.com/2019/06/17/xnu-qemu-arm64-1/)

[4] [https://alephsecurity.com/2019/06/25/xnu-qemu-
arm64-2/](https://alephsecurity.com/2019/06/25/xnu-qemu-arm64-2/)

------
InSaneDarwin-PD
Would anyone actually like to help work on the project? I am one of the Dev's
actively working on it. We could use the help, project was slow as I was
working on my degree. Reply here and I will contact anyone who would like to
join our efforts in making a difference on the Project.

~~~
InSaneDarwin-PD
[https://youtu.be/3p4dDQWu2hQ](https://youtu.be/3p4dDQWu2hQ)

------
shivekkhurana
Can it run software packaged for macOS ?

~~~
65536
The graphical user interface components of macOS are proprietary software, as
are a bunch of other libraries included in macOS that software packaged for
macOS is likely to use.

So if this was a goal of PureDarwin then they’d have a lot of work ahead of
them in order to implement those APIs.

This wiki page on the repository seems to indicate that they are not intending
to do that:

[https://github.com/PureDarwin/PureDarwin/wiki/Graphics](https://github.com/PureDarwin/PureDarwin/wiki/Graphics)

> While Darwin is the operating system underlying Mac OS X, the graphical
> environments of PureDarwin and Mac OS X are very different. This is because
> most graphical aspects of Mac OS X (especially Quartz and Aqua) are
> proprietary, closed-source software and are not available for PureDarwin.
> Hence, PureDarwin uses a more traditional UNIX-like graphics system (X
> server), waiting a better alternative.

~~~
zeckalpha
[https://en.m.wikipedia.org/wiki/GNUstep](https://en.m.wikipedia.org/wiki/GNUstep)
may help with some of this, but it is hard to keep up with a moving target.

------
InSaneDarwin-PD
[https://youtu.be/3p4dDQWu2hQ](https://youtu.be/3p4dDQWu2hQ)

