Comments (9)
Sure, instead of self-registering with a central service as described in #118 we use a decentralized approach with GitHub topics and local metadata checked into the project (similar to a package.json descriptor for nodejs projects). The crawler checks all repos with the topic and optionallly loads the innersource.json
file with additional metadata about the project to enricht the display of the portal entry with further details like skills required or a more readable title.
The advantage with this approach is that the metadata is under full control of the repo owner and can be modified very easily. It is technology-agnostic and flexible as well, we can also add new fields on top if needed. Self-registering with a GitHub topic and creating the file does not take more that a couple of minutes. We do have a significant increase of projects registering since we have this simple but effective mechanism in place.
More infos about the metadata structure:
https://github.com/SAP/project-portal-for-innersource/blob/main/CONTRIBUTING.md#listing-project-in-the-project-portal-for-innersource
from innersourcepatterns.
I'd like to see innersource.yaml
or innersource.json
be the standard. readme.md
follows the same convention of creating a new word ;)
from innersourcepatterns.
More prior art: Description of a Project (DOAP); an example in the wild
from innersourcepatterns.
I am inclined to follow existing standards where available; specifically, there's already a standard for the metadata file name in my org with some of the similar entries (i.e., technologies).
Will think which specific entries make sense for InnerSource projects.
As far as aiding discovery of the InnerSource projects, I'm inclined to use the presence of CONTRIBUTING.MD file in the code repository as the best indicator of host team readiness for contributions.
from innersourcepatterns.
I am not sure I am a fan of another data container. Would it not make sense to have the metadata describing the project/repo in the top part of the readme? Secondly, I am also not convinced tracking the maintainers in a file is a good idea as people in general are not particularly good in updating things like that. I would rather suggest to use the APIs of infrastructure (GitHub, GitLab.. etc) instead. Keeping authors in the individual file headers like it is done in open source projects is what should be done for InnerSource as well IMHO (should you care about that information within your company). Let's avoid introducing more concepts if there is already a concept that fits the scenario..
from innersourcepatterns.
Not a huge fan of adding too many meta data files to a repo. Ideally all public repos in a company are Inner source projects, but this is not always the case. Inflight of that I think explicitly registering your project may be an idea. See #118
from innersourcepatterns.
For a similar purpose, SAP's reference implementation of the InnerSource Portal proposes an innersource.json
file in the root of the repository with some extra attributes.
@Michadelic could you elaborate a bit out why you chose the given approach, and how it has been working out for you so far?
The approach with that metadata could indeed be an extension of the InnerSource Portal pattern, or even a new pattern on it's own.
from innersourcepatterns.
@tsadler1988 given the conversations in this issue, do you have a preferred path forward?
Options that I can think of right now:
- Adding a bit more info about SAP's approach with the
innersource.json
file to the InnerSource Portal Pattern - Creating a new pattern just around relevant metadata (maybe describing what metadata is helpful for InnerSource collaboration and then listing the different available solutions, rather than prescribing a single solution?)
from innersourcepatterns.
Also FYI this is the latest syntax definition of SAP's innersource.json
file.
from innersourcepatterns.
Related Issues (20)
- Monthly Metrics: New Issues + New Pull Requests 2024-01-01..2024-01-31
- Monthly Metrics: Contributors 2024-01-01..2024-01-31
- Galician: Content Consistency Issue
- :brazil: Brazilian Portuguese: Content Consistency Issue
- :jp: Japanese: Content Consistency Issue
- :cn: Chinese: Content Consistency Issue
- Monthly Metrics: Contributors 2024-02-01..2024-02-29
- DRAFT - Standard Base Documentation: COMMUNICATION.md vs SUPPORT.md HOT 1
- Add RFC template repo to pattern
- bug: CODEOWNERS file has errors HOT 8
- [Pattern Draft] Maintainer Apprentice HOT 4
- :jp: Japanese: Content Consistency Issue
- :brazil: Brazilian Portuguese: Content Consistency Issue
- Galician: Content Consistency Issue
- :cn: Chinese: Content Consistency Issue
- Monthly Metrics: Contributors 2024-03-01..2024-03-31
- vale does not consider the configured exception list HOT 5
- :cn: Chinese: Content Consistency Issue
- :jp: Japanese: Content Consistency Issue
- Monthly Metrics: Contributors 2024-04-01..2024-04-30
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from innersourcepatterns.