Sounds like an easy question, but I learned over the past few years that for
software projects, the answer is typically not a yes or no question.
Technically — for example — Virtualbox OSE is considered opensource, even the
OSE abbreviation suggests that it’s a stripped down version of the real
codebase, that is kept as a secret. At first thought I wouldn’t even imagine
it’s possible to contribute back a patch from someone not working on the
original — closed — codebase, but of course I may be wrong in case of
Virtualbox.
There is also the question of what is open. Only tarballs of releases, or also
the SCM repo used for development? Think of Amazon’s
custom
kernels where the code is open, but it’s obviously only a code dump, one is
not supposed to contribute to it, and the individual changesets are not public.
Finally, even if the software itself is developed in a truly free manner, some
enterprise version (which is based on the free version) may not be publicly
developed, e.g. only the resulting tarball is public. I’m happy to see that at
$dayjob even this last detail is quite public, think of
LibreOffice
or the Linux kernel.