Closed Bug 411578 Opened 14 years ago Closed 14 years ago

Add some OS/2 build dependencies into Mozilla CVS?

Categories

(Firefox Build System :: General, defect)

x86
OS/2
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: mozilla, Unassigned)

References

Details

Attachments

(2 files)

It might make sense to add two of the recently added OS/2 build dependencies into the Mozilla tree in CVS:

- rws.h from the RWS package
     http://hobbes.nmsu.edu/pub/os2/dev/wps/rws080.zip
  is now necessary for building. It's MPL licensed.

- We currently depend on a library that combines a subset of FreeType 2.3.x
  and a special OS/2 version of Fontconfig. It is only used for building
  Mozilla trunk and is frequently updated because of Mozilla requirements.
  So it would make sense to add it.

Not sure if this makes sense but it would be very convenient.

Not sure what a good location would be, perhaps something like

mozilla/ other-licenses/ os2/ rws/rws.h
                              fontconfig/
                              freetype/
(or leave away the rws subdir for that one file).
If rws.h is MPL-licensed, it doesn't make sense to put it under other-licenses.
OK, but then where else should we put it? I haven't found an existing directory for "external" include files. It is used by some stuff in widget/src/os2 but as it isn't part of the widget code it would seem out of place there, too...
(In reply to comment #2)
> It is used by some stuff in widget/src/os2 but as
> it isn't part of the widget code it would seem out of place there, too...

If it's together with what uses it, it doesn't seem so out of place to me.  Or is there code in other directories that also include it?
Hey Peter,

Could you clarify the situation a little bit here?

- You say rws.h is "required for building". Is this because it's the header file for a library that we are using? If so, where is the library to be found and what licence is it under?

- Being "MPL-licensed" is, sadly, not good enough. Our goal is that all of our core code is usable under any one of the sets of terms in the tri-licence - MPL, LGPL or GPL. The MPL is not GPL-compatible, and so if the OS/2 version required an MPL-only file, then someone could not ship an OS/2 browser based on our code under the GPL.

- What is the licence on these FontConfig/FreeType libraries? Do we ship these with the OS/2 version of the browser?

Gerv
Gerv, thanks for looking into this.

Yes, rws.h is now required to build since bug 305061 finally got fixed. It's included from widget/src/os2/nsRwsService.h and we use it for some #define constants in widget/src/os2/nsRwsService.cpp. Actually, we also include rwserr.h (didn't notice this before since they are part of the same directory) from which we use an additional constant.

The RWS package provides an interface to the OS/2 Workplace Shell (the desktop and all the classes that it consists of), even for programs that like Mozilla apps are not WPS aware. You can get the current version from <http://hobbes.nmsu.edu/pub/os2/dev/wps/rws080.zip>. Yes, it's MPL at the moment but Rich Walsh indicated that he would be willing to tri-license it if that would help.

The FontConfig/FreeType combined library (to be found at <http://hobbes.nmsu.edu/pub/os2/dev/util/mzfntcfgft_20071215.zip>) gets statically linked into OS/2 executables (xul.dll or thebes.dll) and of course we also use headers from that library for compilation. We added hopefully all required notices to about:license a while ago (bug 355067).
Peter: yes, please ask Mr Walsh to tri-license the files.

If the required notices for FontConfig/FreeType are already in the product, then there's no issue there.

Also, it's not my permission you need to add things to CVS. I believe Brendan is the man for that.

Gerv
While the RWS headers needed to build OS/2 versions of Mozilla apps are now tri-licensed, the DLLs whose interface they define remain MPL-only.  Feasibility issues aside, would it be permissible to include these binaries with the officially-branded (but privately built) OS/2 distributions of the Mozilla apps?
Hi Rich,

Thanks for tri-licensing your headers. 

There's a little uncertainty on my part about how exactly these OS/2 builds are distributed, but the rule that we have here at Mozilla is that all code in builds we distribute must be under the tri-licence, or a licence compatible with it (e.g. BSD). So if the OS/2 team wants to ship RWS with Mozilla, would it be possible to tri-licence the rest of RWS?

Gerv
Gerv, I hope we follow the same rule for the OS/2 packages, as far as I know, everything that we ship from mozilla.org is tri-licensed or has a more liberal license.

So, where should the rws*.h files go in the tree? Should I just check them into widget/src/os2?

Brendan, what is your take on adding the combined FontConfig/FreeType library as described in comment 5?
(In reply to comment #11)
> Gerv, I hope we follow the same rule for the OS/2 packages, as far as I know,
> everything that we ship from mozilla.org is tri-licensed or has a more liberal
> license.

Just to be clear: when you say "everything that we ship from mozilla.org", do you mean:
a) "all code from mozilla.org that we ship" (which is not necessarily the same thing as "all code that we ship"
or
b) "all code that we ship from mozilla.org download servers" (which is the same thing as "all code that we ship")
?

> So, where should the rws*.h files go in the tree? Should I just check them 
> into
> widget/src/os2?

If they are tri-licensed, they can go wherever you want them to, within the constraints of whatever other tree rules there are.

Gerv
(In reply to comment #12)
> (In reply to comment #11)
> > Gerv, I hope we follow the same rule for the OS/2 packages, as far as I know,
> > everything that we ship from mozilla.org is tri-licensed or has a more liberal
> > license.
> 
> Just to be clear: when you say "everything that we ship from mozilla.org", do
> you mean:
> a) "all code from mozilla.org that we ship" (which is not necessarily the same
> thing as "all code that we ship"
> or
> b) "all code that we ship from mozilla.org download servers" (which is the same
> thing as "all code that we ship")
> ?

I'm not sure I fully grasp the distinction, but I meant your option (b).

> > So, where should the rws*.h files go in the tree? Should I just check them 
> > into
> > widget/src/os2?
> 
> If they are tri-licensed, they can go wherever you want them to, within the
> constraints of whatever other tree rules there are.

OK, thanks.
Comment on attachment 303251 [details]
tri-licensed version of rws.h [checked in]

Mike, I guess you are happy with rws.h to be added under widget/src/os2 where they are used?
Attachment #303251 - Flags: review?(mozilla)
Comment on attachment 303253 [details]
tri-licensed version of rwserr.h [checked in]

Same question for rwserr.h... Note, the two files are included from widget/src/os2/nsRwsService.{h,cpp}.
Attachment #303253 - Flags: review?(mozilla)
Comment on attachment 303251 [details]
tri-licensed version of rws.h [checked in]

widget/src/os2 is great
Attachment #303251 - Flags: review?(mozilla) → review+
Comment on attachment 303253 [details]
tri-licensed version of rwserr.h [checked in]

widget/src/os2 is great
Attachment #303253 - Flags: review?(mozilla) → review+
Attachment #303251 - Attachment description: tri-licensed version of rws.h → tri-licensed version of rws.h [checked in]
Attachment #303253 - Attachment description: tri-licensed version of rwserr.h → tri-licensed version of rwserr.h [checked in]
OK, great. I checked in both files now.

I will leave this bug open until we have a decision on the FreeType/FontConfig package.
Bfft, no reaction from the decision makers (Brendan). Would have been nice to get FontConfig+FreeType into the tree to remove an external dependency and get more reproducibility, but I don't think I care enough any more to leave this open still.

The RWS files are in -> Fixed.
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
See bug 463532 comment 16 for tiered platform support and why we didn't take freetype just for OS/2.

/be
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.