Agenda / Notes

Feel free to edit!

Rotating Chair Position for 1 year (term: 1 Aug - 1 Aug), election in June

EAC Role, and how to make it more relevant

From the Eclipse dev process: "responsible for the development, articulation, and maintenance of the Eclipse Platform Architecture and ensuring the Principles of the Development Process through mentorship."

From the EAC charter: "responsible for the long-term technical health of the Eclipse platforms and frameworks (...) involves itself in inter- and intra-project architecture (...) and open source process (...) through discussion during its meetings, mentoring and consultation."

Mentorship can encompass many things - EAC as source for mentors, mentoring mentors

"Pull" model: Allow adding eclipse.org-architecture-council@eclipse.org on CC on bugzilla for tough questions (rather than being active itself, the EAC is there to respond / mentor, and to identify issues)

Invite people to present architectural questions for discussion at EAC meetings

What's making the monthly meetings attractive and interesting?

If meetings are short, and members gain something from the meetings (insights, news, experiences).

EAC is also a platform for exchanging news, ideas, and best practices among the Mentors

Meeting Dates

We now got Google Calendar invitations. Responding to the invitations allows me to pre-fill the meeting attendee list.

Nice: accumulate multiple public calendars on your own, by searching for "Eclipse" related calendars on http://calendar.google.com

Hiding the call-in number?

Regular meeting date suggestions:

(a) Keep 2nd Thurs of the month at 11am EST: not for Oliver Cole

(b) 2nd Thurs of the month at 12 EST: not for

(c) 3rd Wed of every month at 11am EST: not for

(d) 3rd Wed of every month at 12 EST: not for

(e) 2nd Tues of every month at 11am EST: not for

Council Membership

From the Development Process: "The Architecture Council will, at least annually, recommend to the EMO(ED), Eclipse Members who have sufficient experience, wisdom, and time to be appointed to the Architecture Council and serve as Mentors."

From the EAC charter: "Members (...) are appointed to three year terms (...) Members who are unresponsive to the business of the Council (...) can be removed by a simple three +1s, no upheld -1s vote of the Council."

Any inactive members to prune off the councils page? - Suggestion to add the Year of joining for appointed members, such that inactivity can be tracked.

Have E-Mail proposals / elections like last year? Probably later this year?

Dave Carver: profound knowledge in XML and web technologies, eager to help the development process

Discussions

ISchedulingRule

A very technical issue, as a test balloon how that feels with the EAC

Markus Schorn: bug 240888 - ISchedulingRule.isConflicting() vs. ISchedulingRule.contains() -- API Docs are there, but missing on the point how it is supposed to be used. How to write a contains() rule properly? How to use it with RuleFactory and MultiRule?

Asking the combined wisdom of the EAC, how projects tend to be doing scheduling with IJobManager. Is the EAC the right platform for this, or where should this be discussed?

Original problem was how to save Project Preferences properly:

Need to run a job with a project-rule. Additionally in the job some project-preferences will be flushed. The flushing will potentially lock some resources, outside of the project!!.

Problem 1: I have to know in advance, that the flushing of the preferences will lock resources. I need to look at its implementation to figure out the maximum of resources that will be locked. This is against information hiding.

Problem 2: The rules are determined via IWorkspace.getRuleFactory(). It turns out that the rules I obtain from there can differ from call to call. This makes the situation worse in that I can run into an IllegalArgumentException, even if I obtained the rules for the job in the same way as it is done in the methods I am using inside of the job. How to use it properly?

The bug is currently marked fixed, it was solved by taking a Workspace rule. But is this the best we can do?

Implementation of the Job needs to call out to other (unknown) implementation through APIs, e.g. savePreferences. These may require new, different ISchedulingRules, but are not allowed to do so at liberty (for the sake of deadlock prevention).

Should it be part of API Docs what SchedulingRules some API Call requires?

Is there some different usage pattern to avoid the problem?

ISchedulingRule#contains(): when a scheduling-rule contains another one, then a call to getJobManager().beginRule() for a contained rule simply has no effect. That means that by starting a rule that contains let's say all resources (that's compliant with the API) I can bypass any locking on resources in subsequent method calls.

To get it right a rule should contain another rule only if it also conflicts with this rule. However, because isConflicting() has to be symmetric, I cannot contain another rule. The only way to do that is to use MultiRule (which gets special treatment in the job-manager).

How to use RuleFactory and MultiRule properly?

LGPL

Dave Carver, Ed Merks: EPL to LGPL relation not clear, has been a topic for the board.

GTK version of SWT links against LGPL'd lib? What can and can not be done?

Is the EAC the right place for such questions?

Other Ideas for Discussion

Mentoring New Projects

Experiences? What could be improved?

Nick & Denis Build Workshop 2: Build Harder -- to be continued under Dash when Nick is back from honeymoon & vacation. Adding a representative of Dash to the EAC?

Webpage improvements: more pre-canned content for new projects (like Sourceforge)?

Mentoring Galileo: What could be improved?

Running each project's unittests with full Galileo installed; especially interesting for Performance tests

Action Items

Martin found Max Gilead, who was working with OpenOffice.org's UNO remote communication facility and during that work written a little library on top of it called DUO which provides more user (developer :) ) - friendly access to some of the features. He agreed to give some thoughts when back from a business trip.