Closed Bug 833098 Opened 12 years ago Closed 6 years ago

Kick RDF out of Firefox and Gecko

Categories

(Core Graveyard :: RDF, defect)

defect
Not set
normal

Tracking

(firefox62 fixed)

RESOLVED FIXED
mozilla62
Tracking Status
firefox62 --- fixed

People

(Reporter: mak, Assigned: kmag)

References

(Blocks 2 open bugs)

Details

(Keywords: meta)

Attachments

(2 files)

Among the various reasons for which rdf is old, unmaintained and so on, it's also another piece of libxul that may go away helping out PGO linker memory usage.
I couldn't file a bug for install.rdf, is there any plan for moving add-ons out of it?
comm-central is also full of stuff using rdf.
there are also xul templates that likely we may drop...

search.rdf, panels.rdf and downloads.rdf are likely old versions of our dbs, there is lots of code and test codes accessing these that most likely we don't need anymore... reducing globally our rdf usage by removing pre FF3 code would be good, at least to reduce a bit the code base using it.

(In reply to Mike Hommey [:glandium] from comment #3)
> comm-central is also full of stuff using rdf.

yes, though we may disable it in confvars.sh just for Firefox, for example, these kind of projects can be done in parallel
IIRC, we removed the disable-rdf configure flag because it was rather broken for content internals, or somewhere there.
There is another use of RDF that hasn't had a blocking bug filed: the charsets menu.
See bug 357276, a module I wrote which exposes a JS API for parsing existing RDF data that doesn't require any of the C++ goop (the expat integration may be horribly broken, but the logic should still be pretty good). That should at least provide a simple way of importing existing data like extensions.rdf into whatever new format we pick for that data.
(In reply to Marco Bonardo [:mak] from comment #1)
> I couldn't file a bug for install.rdf, is there any plan for moving add-ons
> out of it?

No hard plan, just talk. But we could switch to a JS based parser for install.rdf and update.rdf files.
(In reply to Dave Townsend (:Mossop) from comment #8)
> (In reply to Marco Bonardo [:mak] from comment #1)
> > I couldn't file a bug for install.rdf, is there any plan for moving add-ons
> > out of it?
> 
> No hard plan, just talk. But we could switch to a JS based parser for
> install.rdf and update.rdf files.

This would be a great idea, also considering comment 7
I hardly believe we need all of the rdf functionality, a "simple" parser can likely cover our needs. Maybe we should discuss this project at the next work week.
> rdf is old, unmaintained and so on

Black humor: Quite macabre statement, after Aaron Swartz died about a week ago. :-/
http://en.wikipedia.org/wiki/Aaron_Swartz#W3C
(At least you didn't call the bug "Kill RDF"...)
Not sure what you are trying to achieve by that, my words were clearly pointed at our implementation of the standard and the fact we don't maintain it.
I suppose you prefer if I talk about "rdf/"
As we're side-tracking. RDF is maintained, I'm the module owner of it.

Anything that we do with RDF ties us to functionality that's not conforming to specs or unfortunate uses of it. Which means that anything that blocks us from killing RDF is also keeping us from improving out implementation, or merely just add tests for it.

That makes a 100% feature freeze the only option for our current impl.

Given that RDF isn't considered sexy these days, killing it is the better motivation to drop the users of unspecified or badly designed functionality, compared to "I'd like our RDF impl to be spec compliant and test-suite-passing".
FYI, comment 10 was merely a joke, nothing else.

Thunderbird depends heavily on RDF, so removing it entirely from the tree would pose significant problems for TB. jcramner is discussing on tb-planning how to do it, but it's quite an effort. Previous attempts have caused serious regressions and thus slowed down.
Depends on: 357276
(In reply to Ben Bucksch (:BenB) from comment #15)
> FYI, comment 10 was merely a joke, nothing else.
> 
> Thunderbird depends heavily on RDF, so removing it entirely from the tree
> would pose significant problems for TB. jcramner is discussing on
> tb-planning how to do it, but it's quite an effort. Previous attempts have
> caused serious regressions and thus slowed down.

As comment 4 has already suggested, a build time option would suffice for now if Firefox has finished core removals before we get that far, and assuming we don't get impacted by the issues in comment 5 (I strongly suspect with the removals of the dependencies on RDF from core, we'd be able to make it work).
(In reply to Joshua Cranmer [:jcranmer] from comment #6)
> There is another use of RDF that hasn't had a blocking bug filed: the
> charsets menu.

Firefox no longer uses RDF for charset stuff. Getting the dead code out of m-c is bug 943252.
Depends on: 943252
Depends on: 1362425
Depends on: 1362426
Depends on: 1405875
Depends on: 1425356
No longer depends on: 1362426
No longer depends on: 857456
Depends on: 857456
Depends on: 1430023
Depends on: 1457749
Assignee: nobody → kmaglione+bmo
No longer depends on: 857456, 857458
Jorg, it looks like Thunderbird still uses the RDF service pretty extensively. Presumably you'll want to move it to comm-central.
Flags: needinfo?(jorgk)
We have been looking at removing RDF for a long time, see meta-bug 420506. Since we're chronically understaffed, we're always in fire-fighting mode. When XUL templates were removed, we landed bug 464710 (there was an RDF removal component in there), now we have bug 453908 and bug 457333 in the pipeline.

What's the ETA for landing this? Maybe it could wait for mozilla62 while we're still busy with TB 60 preparing the ESR.
Flags: needinfo?(jorgk)
I was aiming for the start of the next cycle. This is a lot of dead code to keep shipping after nothing in-tree uses it, especially given the number of relocations it requires in the content process.

If comm-central still needs it, it should be pretty trivial to move there.
Comment on attachment 8971850 [details]
Bug 833098: Part 2 - Remove RDF service.

https://reviewboard.mozilla.org/r/240608/#review246318

Looks good to me. Thank you! It's unclear to me, however, why review is requested from me. I'm not the module owner for this code. Axel Hecht is.
Attachment #8971850 - Flags: review?(hsivonen) → review+
(In reply to Henri Sivonen (:hsivonen) from comment #23)
> Comment on attachment 8971850 [details]
> Bug 833098: Part 2 - Remove RDF service.
> 
> https://reviewboard.mozilla.org/r/240608/#review246318
> 
> Looks good to me. Thank you! It's unclear to me, however, why review is
> requested from me. I'm not the module owner for this code. Axel Hecht is.

Ah, I was mostly asking for review for the DOM and toolkit changes. I thought RDF was unowned at this point.
Attachment #8971850 - Flags: review?(l10n) → review?(axel)
Moving this over to Core RDF.

I've glanced at the patch and I don't see anything concerning on the technical and Firefox level. Before I flag an r+, though ...

(In reply to Kris Maglione [:kmag] (long backlog; ping on IRC if you're blocked) from comment #22)
> 
> If comm-central still needs it, it should be pretty trivial to move there.

I'd have to disagree with that assessment. As the current module owner, I expect my duty to end with the removal of the code in mozilla-central.

I've pretty much succeeded in keeping the rdf module from changing. Yet, it's one of our oldest piece of C++ code, and as such is frequently hit by refactorings in the underpinnings there, https://hg.mozilla.org/mozilla-central/log?rev=rdf%2F.

There's also a bug component with a number of bugs that would move to the graveyard if the code was just removed. Otherwise we'd have to move the component, maybe to MailNews Core? Not sure if Emma would insist on a Triage Owner there.

While it might be trivial to copy the existing code over, it's non-trivial to keep it compiling, and there's a couple of module-ownership changes that we'll need to make alongside.

Flinging this through Jorg's needinfo queue once more.
Component: General → RDF
Flags: needinfo?(jorgk)
Product: Firefox → Core
Summary: Kick RDF out of Firefox → Kick RDF out of Firefox and Gecko
I'm not sure what you want me to answer here. I'll finally get rid of RDF as per comment #21. We have no intention of moving code to mailnews.

If this can wait until mozilla62, we'll probably be fine.
Flags: needinfo?(jorgk)
Comment on attachment 8971850 [details]
Bug 833098: Part 2 - Remove RDF service.

https://reviewboard.mozilla.org/r/240608/#review246424

Sounds like a plan, thanks Jorg.

Let's get this done with early next cycle.

Drum roll.
Attachment #8971850 - Flags: review?(axel) → review+
Blocks: 1430023
No longer depends on: 1430023
(In reply to Kris Maglione [:kmag] (long backlog; ping on IRC if you're blocked) from comment #20)
> Jorg, it looks like Thunderbird still uses the RDF service pretty
> extensively. Presumably you'll want to move it to comm-central.
After looking at the main open bugs we have for removing use of RDF (bug 453908 and bug 457333 and bug 732106), I think I'll have to change my mind and fork RDF at least for a few months :-(
Comment on attachment 8971849 [details]
Bug 833098: Part 1 - Remove dead code in xpfe directory viewer.

https://reviewboard.mozilla.org/r/240606/#review248012
Attachment #8971849 - Flags: review?(dtownsend) → review+
Comment on attachment 8971850 [details]
Bug 833098: Part 2 - Remove RDF service.

https://reviewboard.mozilla.org/r/240608/#review248014
Attachment #8971850 - Flags: review?(dtownsend) → review+
Depends on: 1459748
Blocks: 1009491
Backed out 2 changesets (bug 833098) for depending on bug 1457749

Backout:
https://hg.mozilla.org/integration/mozilla-inbound/rev/d439053dcb4a8f88ca1be465cc01745b088852ed
Flags: needinfo?(kmaglione+bmo)
https://hg.mozilla.org/mozilla-central/rev/4cf33b7e5428
https://hg.mozilla.org/mozilla-central/rev/6f52281bccaa
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla62
No longer blocks: 1009491
Product: Core → Core Graveyard
No longer blocks: 1460180
Flags: needinfo?(kmaglione+bmo)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: