Rockbox.org home
Downloads
Release release
Dev builds dev builds
Extras extras
themes themes
Documentation
Manual manual
Wiki wiki
Device Status device status
Support
Forums forums
Mailing lists mailing lists
IRC IRC
Development
Bugs bugs
Patches patches
Dev Guide dev guide
Search



Donate

Rockbox Technical Forums


Login with username, password and session length
Home Help Search Staff List Login Register
News:

Welcome to the Rockbox Technical Forums!

+  Rockbox Technical Forums
|-+  Support and General Use
| |-+  Plugins/Viewers
| | |-+  Question : how/why plugins work the way they do
« previous next »
  • Print
Pages: [1]

Author Topic: Question : how/why plugins work the way they do  (Read 2327 times)

Offline Daveybaby

  • Member
  • *
  • Posts: 18
Question : how/why plugins work the way they do
« on: June 29, 2007, 05:11:17 AM »
Was sort of interested in the possibility of a MAME plugin for rockbox, had a bit of a search and found this thread which states that the reason that MAME isnt in rockbox is because of license incompatibility issues. This is fair enough, but then i saw this:

Quote from: "that_asian_guy"
Could it be possible to have a mame emulator that is a seperate downloadable .rock file?

Quote from: "Llorean"
No, because it's a source code thing, not how the files are handled.

Plugins are linked to the Rockbox core. Technically they're a part of Rockbox, and thus are constrained by the same license requirements.

Why is this the case? Surely the whole point of a plugin system is that it enables people to write and distribute modules entirely separately from the core product - i.e. if i write a plugin to, i dunno, display pictures of cats in hats while i listen to music, i can do so without having to mess around with the central code repository. I dont have to get approval from anyone to get my (stupid and pointless) plugin incorporated into the main build, and nor does everyone else have a stupid pointless cats in hats plugin installed in the unlikely event that it does get approved.

This is how plugins work for pretty much every other application ive ever seen, so why is rockbox different?

Is it:
* Due to hardware limitations on some (or all) of the platforms?
* Because it was easier to get working that way?
* Due to some restriction imposed by the GPL license?
* Designed that way on purpose for some other reason?

I'm mostly asking out of pure curiosity, but also partly to see if theres any chance of this changing in the future to a more flexible and open system.
Logged

Offline Bagder

  • Member
  • *
  • Posts: 1452
    • Daniel's site
Re: Question : how/why plugins work the way they do
« Reply #1 on: June 29, 2007, 06:25:28 AM »
Quote
Surely the whole point of a plugin system is that it enables people to write and distribute modules entirely separately from the core product

Sure, and that is exactly what our plugin system allows you to!

Quote
This is how plugins work for pretty much every other application ive ever seen, so why is rockbox different?

Eh, no. That's not how GPL licensed programs generally work if they support a somewhat advanced plugin API.

We implemented the plugin system this way since it was relatively easy and it provides the functionality and features we wanted to offer to the plugins. Why would we make any kind of effort to allow people to try to "profit" on our work and avoid the GPL license's intentions?
Logged

Offline Daveybaby

  • Member
  • *
  • Posts: 18
Re: Question : how/why plugins work the way they do
« Reply #2 on: June 29, 2007, 07:27:25 AM »
Quote
Sure, and that is exactly what our plugin system allows you to!
Ah, ok. I guess misinterpreted the bit about plugin source being linked to the rockbox core.

Quote
Eh, no. That's not how GPL licensed programs generally work if they support a somewhat advanced plugin API.
So are you saying that its due to restrictions in the GPL? i.e. that a plugin module for a GPL'd application must itself follow the GPL? (i'm not up to speed on the intricacies of this stuff i'm afraid).

I can see this being reasonable in some cases (i.e. where the plugin is primarily modifying the behaviour of the parent application in some way), but in others (e.g. games plugins) rockbox is effectively behaving as an operating system with the game plugins are applications being launched from it (this is how it appears to me anyway).

e.g. ipod linux (GPL'd?) can apparently run MAME (not GPL'd), but rockbox can't - but i'm having trouble seeing the difference in behaviour between these two cases.
« Last Edit: June 29, 2007, 07:30:56 AM by Daveybaby »
Logged

Offline Llorean

  • Member
  • *
  • Posts: 12931
Re: Question : how/why plugins work the way they do
« Reply #3 on: June 29, 2007, 08:09:05 AM »
Have you tried compiling a plugin? You'll notice that it's necessary to include parts of Rockbox code for them to work on Rockbox. Due to the fact that the code included is GPL'ed, the terms of the GPL apply to the plugin. It's as simple as that, they're plugins not stand-alone programs, and they're compiled as part of a copy of Rockbox when you compile one.

Rockbox is not a full operating system, and plugins are not simply stand-alone applications despite how it may appear from a strictly outside view.
Logged

Offline Daveybaby

  • Member
  • *
  • Posts: 18
Re: Question : how/why plugins work the way they do
« Reply #4 on: June 29, 2007, 08:19:36 AM »
Ah, fair enough - that makes a lot more sense. I guess in hindsight its fairly obvious that the rockbox team have had to write their own hardware drivers (and stuff) that any plugin would have to use (or build their own from scratch - not likely ;)) - the fundamental difference being that in ipod linux the apps would call the OS drivers rather than compile them in.

Cheers for the explanations guys. Its a shame i'm unikely to ever see my beloved MAME running on my sansa, but i have at least got my interest in rockbox's code up to a level where i might just try and have a go at playing with the source code myself.  ;D
Logged

Offline gnu

  • Member
  • *
  • Posts: 269
Re: Question : how/why plugins work the way they do
« Reply #5 on: June 29, 2007, 11:45:14 AM »
Well, it's always possible that someone makes his own custom build with a MAME plugin.
But I don't know who'd do this...
Logged

Offline Llorean

  • Member
  • *
  • Posts: 12931
Re: Question : how/why plugins work the way they do
« Reply #6 on: June 29, 2007, 11:48:39 AM »
They could make a MAME plugin, the question comes as soon as they try to share it. As has been said, the licenses are incompatible.
Logged

  • Print
Pages: [1]
« previous next »
+  Rockbox Technical Forums
|-+  Support and General Use
| |-+  Plugins/Viewers
| | |-+  Question : how/why plugins work the way they do
 

  • SMF 2.0.17 | SMF © 2019, Simple Machines
  • Rockbox Privacy Policy
  • XHTML
  • RSS
  • WAP2

Page created in 0.088 seconds with 15 queries.