1) clear definition of the IOTivity API.
2) definition of what is base functionality (e.g. what should be in the stack)
        - guidance to developers of code for OCF CR's if that needs to be under 
the API (read: new api) or below the API
        - starting point:
                - all security code needs to be part of the stack, otherwise 
the stack is incomplete
                - all discovery resources should be part of the stack
        - discussion points
                - infra structure features, are those application resources or 
are some of them part of the stack.
3) mechanism to add application code somewhere that uses an API as defined on 
above definitions.

For example I will create a new resource that will be defined in the core.
I do not think that this is an feature that should be part of the IOTivity core 
stack since it will be an optional resource.
However I will produce some code for it to test the API, this is still an good 
starting point for any developer that wants to implement such resource.
Since I will do this for OCF, I need to open source the code and since it will 
be based on IOTivity, it makes sense to me that there is an some kind of repo 
where I can put this code in. together with build instructions and information 
on which version of IOTivity this is developed.

Hope this helps,

-----Original Message-----
From: Nash, George [] 
Sent: 22 February 2018 17:07
To: Wouter van der Beek (wovander) <>; Mats Wichmann 
Subject: RE: [dev] clear distinction of what is below and above the APIs

Could you please add some clarification what you are actually asking from the 
iotivity-dev community. I have read this email chain multiple times and I am 
still confused about what exactly you are asking.

George Nash

-----Original Message-----
[] On Behalf Of Wouter van der 
Beek (wovander)
Sent: Thursday, February 22, 2018 7:39 AM
To: Mats Wichmann <>;
Subject: Re: [dev] clear distinction of what is below and above the APIs


Maybe we should clean up the API as an side effect of this request..
e.g. make sure that if someone uses a lower layer that is not intended as API, 
it should  not link..

Kind Regards,

-----Original Message-----
From: Mats Wichmann [] 
Sent: 22 February 2018 15:32
To: Wouter van der Beek (wovander) <>;
Subject: Re: [dev] clear distinction of what is below and above the APIs

On 02/22/2018 08:19 AM, Wouter van der Beek (wovander) wrote:

I'm maybe the wrong person to respond here, but let me have a go.

> Hi All,
>>From IOTivity perspective I like to know if code is being developed for an CR 
>>if it needs to go below the API or should be regarded as application level.
> For some things it is pretty obvious but for larger infrastructure items it 
> is probably not.
> Is there any guidance from IOTIvity perspective?
> (if not then see this as an request to make that guidance)

Not quite sure understanding the question.  If by CR you mean OCF spec change 
request, under what circumstance would that not be stack-level code, that is, 
part of the implementation of the API ("below")? If there is an infrastructure 
element that looks like an application, an example would be useful (others will 
probably have a much better understanding)

I don't think we know what the API is, precisely.  We have a possibly-correct 
list of headers which contain declarations of things that should be part of the 
API, but the dependency tree has not been worked out to my knowledge - and 
since the libraries are not "cleaned"
(non-public symbols are still visible), you can get away with building code 
that reaches outside the API - it will link okay if the libraries provide those 
symbols, and there's nothing to detect such usage. Yes this is a new topic from 
what you're asking.

> Related to this, I am will be working on application level code, e.g. using 
> the IOTivity API.
> I like to contribute this code to IOTivity or other open source project.
> I will not be maintaining it for long, e.g. if the IOTivity API changes it 
> will be broken...
> I guess that means that is it should not be in the main tree of IOTivity... 
> hence we need an solution to store this kind of code.
> Any ideas?

We should probably have a "contrib" branch for contributions (unless a case can 
be made that the code should be taken into the long term maintenance area).  We 
need anyway to be testing the ability to build applications outside of the tree 
which builds the stack (partly due to what was mentioned above - the 
environment is too leaky to be building examples inside the tree, since 
"everything is available")

iotivity-dev mailing list
iotivity-dev mailing list

Reply via email to