Closed
Bug 370676
Opened 18 years ago
Closed 18 years ago
import IA2 interfaces into tree
Categories
(Core :: Disability Access APIs, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: surkov, Assigned: surkov)
References
(Blocks 1 open bug, )
Details
(Keywords: access)
Attachments
(2 files, 1 obsolete file)
117.44 KB,
patch
|
aaronlev
:
review+
benjamin
:
superreview+
|
Details | Diff | Splinter Review |
118.56 KB,
patch
|
Details | Diff | Splinter Review |
Initial import of IA2 interface plus nsAccessibleWrap implements IAccessible2 interface.
I changed IAccessible2 interface per http://lists.freestandards.org/pipermail/accessibility-ia2/2007-February/000169.html
If my assumption are not correct then I change it, at least this is compiled ;)
Attachment #255378 -
Flags: review?(aaronleventhal)
Assignee | ||
Updated•18 years ago
|
Status: NEW → ASSIGNED
Summary: import IA2 interface into tree → import IA2 interfaces into tree
Assignee | ||
Comment 1•18 years ago
|
||
IA2 interface are in mozilla/other-licenses/ia2 directory
Attachment #255378 -
Attachment is obsolete: true
Attachment #255434 -
Flags: review?(aaronleventhal)
Attachment #255378 -
Flags: review?(aaronleventhal)
Assignee | ||
Comment 2•18 years ago
|
||
I didn't add here other IA2 interface than IAaccessible2 and didn't change QueryInterface. Here I'd like to get an approval I'm on the right way in IA2 implementing. The bug 370790 is for other interfaces support for MSAA wrap objects.
Assignee | ||
Updated•18 years ago
|
Assignee | ||
Comment 3•18 years ago
|
||
(In reply to comment #2)
> I didn't add here other IA2 interface than IAaccessible2 and didn't change
> QueryInterface.
I meant the 'patch' attachment has demonstration how I think IA2 interfaces should be implemented. Aaron, please look at that attachment and let me know if I'm on the rigth way.
Comment 4•18 years ago
|
||
Surkov, can you explain the changes you made to the code we use to build ISimpleDOM* interface support?
Comment 5•18 years ago
|
||
> Aaron, please look at that attachment and let me know if
> I'm on the rigth way.
Yes, that's the right track.
Assignee | ||
Comment 6•18 years ago
|
||
Comment on attachment 255434 [details] [diff] [review]
patch2
>Index: accessible/public/msaa/AccessibleMarshal.c
I removed this file because midl generates such file with the name 'dlldata.c'.
>Index: accessible/public/msaa/AccessibleMarshal.def
>===================================================================
>RCS file: /cvsroot/mozilla/accessible/public/msaa/AccessibleMarshal.def,v
>retrieving revision 1.2
>diff -u -8 -p -r1.2 AccessibleMarshal.def
>--- accessible/public/msaa/AccessibleMarshal.def 12 Jan 2004 16:28:13 -0000 1.2
>+++ accessible/public/msaa/AccessibleMarshal.def 17 Feb 2007 06:14:55 -0000
>@@ -1,7 +1,7 @@
> LIBRARY AccessibleMarshal.dll
>-DESCRIPTION 'ISimpleDOM* proxy/stub DLLs - allows cross-process communication'
>-EXPORTS DllGetClassObject @1 PRIVATE
>- DllCanUnloadNow @2 PRIVATE
>- DllRegisterServer @4 PRIVATE
>- DllUnregisterServer @5 PRIVATE
>-
I tried to get rid warnings during compiling.
1) MSDN said these methods are exposed by name.
2) compiler doesn't know what is description
Updated•18 years ago
|
Attachment #255434 -
Flags: superreview?(benjamin)
Attachment #255434 -
Flags: review?(aaronleventhal)
Attachment #255434 -
Flags: review+
Comment 7•18 years ago
|
||
Benjamin, this is similar to our addition of the ATK interfaces to other-licenses, which you sr='d.
The IAccessible2 family of interfaces is very similar to ATK. It is a standard being worked on in the Linux Foundation (formerly the FSG).
Support for the interfaces is a big target for Firefox 3. Alexander Surkov has a Mozilla Foundation grant to add this support.
Updated•18 years ago
|
Attachment #255434 -
Flags: superreview?(benjamin) → superreview?(gerv)
Comment 8•18 years ago
|
||
Comment on attachment 255434 [details] [diff] [review]
patch2
We can't incorporate code which is under the LGPL (only) into our tree.
To work out what to do instead, I guess I need to know what exactly this code is, where it came from, why it's different in licensing from other accessibility code we may have imported, exactly how it's used and compiled, and so on.
Gerv
Attachment #255434 -
Flags: superreview?(gerv) → superreview-
Comment 9•18 years ago
|
||
Gerv, how is this case different from ATK, which is LGPL? (bug 347983)
Assignee | ||
Comment 10•18 years ago
|
||
other-license/ai2 code is MS COM IDL interfaces of IAccessible2. IAccessible2 is new accessibility API to extend support of assistive technologies on Windows (you can find more information at http://groups.google.co.uk/group/mozilla.dev.accessibility/browse_thread/thread/111a4c4527da24d5/4279807289418c32#4279807289418c32).
Mozilla MSAA accessible objects (for example, http://lxr.mozilla.org/mozilla/source/accessible/src/msaa/nsAccessibleWrap.h) will will implement MSAA's IAccessible as well new IAccessible2. The patch has makefile that builds these interfaces. Example, how exactly mozilla MSAA accessible object will use it you can see in previous patch.
Comment 11•18 years ago
|
||
Also, this isn't code. It's interfaces.
Comment 12•18 years ago
|
||
> other-license/ai2 code is MS COM IDL interfaces
It's not from MS. It's from the Free Software Group, now the Linux Foundation.
Updated•18 years ago
|
Assignee | ||
Comment 13•18 years ago
|
||
(In reply to comment #12)
> > other-license/ai2 code is MS COM IDL interfaces
> It's not from MS. It's from the Free Software Group, now the Linux Foundation.
>
I meant MS COM - a technology.
Comment 14•18 years ago
|
||
bsmedberg: having gone back through my mail records and re-understood the rationale that we used last time, you are right. This does not appear to be different. You may check in LGPLed headers to other-licenses.
For reference, I am copying Frank's original analysis here. (If anyone sees any reason that this analysis does not apply to the proposed checkin, please shout.)
Frank wrote:
First, the standard disclaimer: I am not a lawyer, this is not legal advice, it's just my personal opinion.
Now let me first get clarification on what's going on:
As I understand it, this has to do with Mozilla products (Firefox, etc.) making use of the GNOME Accessibility Toolkit (ATK) library as shipped with Linux distros. We're not planning to ship the ATK library ourselves, we're just going to make use of the ATK library as it's already installed on users' systems. In order to do that we have to compile and link in the appropriate ATK header files, which are licensed under the LGPL. Is my understanding correct?
Given that above, IMO this does not pose a problem in terms of our complying with the LGPL; however the header files should indeed go into the "other-licenses" part of the tree.
To expand on this: This situation is addressed by sections 5 and 6 of the LGPL. From section 5:
5. ... When a "work that uses the Library" [e.g., Firefox] uses
material from a header file that is part of the Library, the
object code for the work may be a derivative work of the Library
even though the source code is not. Whether this is true is
especially significant if the work can be linked without the
Library, or if the work is itself a library. The threshold for
this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small
inline functions (ten lines or less in length), then the use of
the object file is unrestricted, regardless of whether it is
legally a derivative work. ...
So assuming the ATK header files are simple, their LGPL nature in no way affects overall licensing of the binary versions of Firefox (or other Mozilla products). If this is not the case, then sections 5 and 6 of the LGPL provide another loophole:
5. ... Otherwise, if the work is a derivative of the Library,
you may distribute the object code for the work under the terms
of Section 6. Any executables containing that work also fall
under Section 6, whether or not they are linked directly with
the Library itself.
6. As an exception to the Sections above, you may also combine
or link a "work that uses the Library" with the Library to
produce a work containing portions of the Library, and distribute
that work under terms of your choice, provided that the terms
permit modification of the work for the customer's own use and
reverse engineering for debugging such modifications.
So in other words, even if the LGPL nature of the ATK header files affects licensing for Firefox as a whole, we can still distribute Firefox (and other Mozilla products) under a different (i.e., non-LGPL) license, since the relevant license terms do in fact permit modification and reverse engineering.
On the face of it, the EULAs for the binary versions of Firefox and other Mozilla products do prohibit these activities; however the EULAs state explicitly that the licenses for the underlying source code take precedence in the event of a conflict:
3. PROPRIETARY RIGHTS. Portions of the Product are available in
source code form under the terms of the Mozilla Public License
and other open source licenses (collectively, "Open Source
Licenses") at http://www.mozilla.org. Nothing in this Agreement
will be construed to limit any rights granted under the Open
Source Licenses.
Gerv
Comment 15•18 years ago
|
||
Comment on attachment 255434 [details] [diff] [review]
patch2
Re-requesting.
Attachment #255434 -
Flags: superreview- → superreview?
Comment 16•18 years ago
|
||
Comment on attachment 255434 [details] [diff] [review]
patch2
Gerv wrote
"This does not appear to be different. You may check in LGPLed headers to other-licenses."
Attachment #255434 -
Flags: superreview? → superreview?(benjamin)
Updated•18 years ago
|
Attachment #255434 -
Flags: superreview?(benjamin) → superreview+
Comment 17•18 years ago
|
||
Updated•18 years ago
|
Status: ASSIGNED → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
Comment 18•18 years ago
|
||
Bustage fix was necessary. I had to add the directory in the list of directories to get pulled in client.mk
Checking in client.mk;
/cvsroot/mozilla/client.mk,v <-- client.mk
new revision: 1.316; previous revision: 1.315
done
You need to log in
before you can comment on or make changes to this bug.
Description
•