# Contributing to Logstash

**URL:** <https://discuss.elastic.co/t/contributing-to-logstash/120290>\
**Category:** Google Summer of Code\
**Created:** [February 17, 2018, 6:07am UTC](https://discuss.elastic.co/t/contributing-to-logstash/120290 "2018-02-17T06:07:26Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![hvardhan](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/hvardhan/32/27795_2.png) [@hvardhan](https://discuss.elastic.co/u/hvardhan)\
**Post date:** [February 17, 2018, 6:07am UTC](https://discuss.elastic.co/t/contributing-to-logstash/120290/1 "2018-02-17T06:07:26Z")

</div>

Hello everyone,

I would like to contribute to the [logstash](https://github.com/elastic/logstash) project. But, I can't find any ideas related to Logstash on the [list](https://github.com/elastic/gsoc). Some of the high hanging open issues, I found were [here](https://github.com/elastic/logstash/issues?q=is%3Aopen+is%3Aissue+label%3A%22high+hanging+fruit%22+sort%3Aupdated-desc). Are there any other ideas related to Logstash which I could dive into?

[This](https://github.com/elastic/logstash/issues/4726) one looks interesting. But are you all planning to work on this?

Thanks,  
Harsh

---

<div class="post-metadata">

**Author:** ![hvardhan](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/hvardhan/32/27795_2.png) [@hvardhan](https://discuss.elastic.co/u/hvardhan)\
**Post date:** [March 1, 2018, 12:23pm UTC](https://discuss.elastic.co/t/contributing-to-logstash/120290/2 "2018-03-01T12:23:47Z")

</div>

Any updates on this? @xeraa

---

<div class="post-metadata">

**Author:** ![xeraa](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/xeraa/32/48181_2.png) [@xeraa](https://discuss.elastic.co/u/xeraa)\
**Post date:** [March 1, 2018, 5:58pm UTC](https://discuss.elastic.co/t/contributing-to-logstash/120290/3 "2018-03-01T17:58:33Z")

</div>

Sorry for the delay! We're at our annual conference in San Francisco right now and everybody has been super busy with this.

The good thing is that @yaauie from the Logstash team volunteered to mentor projects. We'll get back to you early next week with more specific project ideas (I hope 😅).

---

<div class="post-metadata">

**Author:** ![yaauie](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/yaauie/32/23363_2.png) [@yaauie](https://discuss.elastic.co/u/yaauie)\
**Post date:** [March 1, 2018, 10:54pm UTC](https://discuss.elastic.co/t/contributing-to-logstash/120290/4 "2018-03-01T22:54:49Z")

</div>

I'll be submitting a PR on our GSOC ideas repo shortly for the ideas I have on the Logstash projects, and will follow up here after. 😁

---

<div class="post-metadata">

**Author:** ![hvardhan](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/hvardhan/32/27795_2.png) [@hvardhan](https://discuss.elastic.co/u/hvardhan)\
**Post date:** [March 2, 2018, 8:17am UTC](https://discuss.elastic.co/t/contributing-to-logstash/120290/5 "2018-03-02T08:17:22Z")

</div>

Awesome! Have fun at the conference! 🍾 :elasticheart:

Thanks, @yaauie! Looking forward to the project! 😄

---

<div class="post-metadata">

**Author:** ![xeraa](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/xeraa/32/48181_2.png) [@xeraa](https://discuss.elastic.co/u/xeraa)\
**Post date:** [March 4, 2018, 10:50pm UTC](https://discuss.elastic.co/t/contributing-to-logstash/120290/6 "2018-03-04T22:50:18Z")

</div>

@hvardhan thanks for your patience! Ry has now added [https://github.com/elastic/gsoc#logstash\_java\_plugin\_api](https://github.com/elastic/gsoc#logstash_java_plugin_api) (thanks for that as well!).

Let us know what you think about that.

---

<div class="post-metadata">

**Author:** ![hvardhan](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/hvardhan/32/27795_2.png) [@hvardhan](https://discuss.elastic.co/u/hvardhan)\
**Post date:** [March 7, 2018, 8:34pm UTC](https://discuss.elastic.co/t/contributing-to-logstash/120290/7 "2018-03-07T20:34:58Z")

</div>

Hi,  
@yaauie I have been looking at different discussions and pull requests related to Java Plugin API ([#7986](https://github.com/elastic/logstash/issues/7986)).

- What are the popular plugins that you are looking to support? We could pick plugins from each type (Input, Output, Filter, and Codec). Here's a list of plugins sorted according to [stars](https://github.com/logstash-plugins?language=&page=1&q=stars%3A%3E-1&type=&utf8=%E2%9C%93).
- What's the current status of the Java Plugin API?
- Which approach are you all going to follow for the Java Plugin API? Are you all planning to use annotations based approach or try something else?
- We can test the API using other JVM languages like Kotlin, Scala. This would encourage developers from other languages to write a logstash plugin.

---

<div class="post-metadata">

**Author:** ![yaauie](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/yaauie/32/23363_2.png) [@yaauie](https://discuss.elastic.co/u/yaauie)\
**Post date:** [March 9, 2018, 11:49pm UTC](https://discuss.elastic.co/t/contributing-to-logstash/120290/8 "2018-03-09T23:49:39Z")

</div>

Hello @hvardhan.

The point of the project is to exercise the API, not necessarily to support a specific subset of the existing plugins; we would want a variety of inputs, outputs, filters, and codecs to ensure that each of those APIs was well-exercised. Selecting a variety of pre-existing plugins gives us a pretty good idea of the types of configurations plugins expose to the Logstash Pipeline Configuration format, which should help shape the needs of the API.

There is a [Work-In-Progress PR](https://github.com/elastic/logstash/pull/9137), along with a lot of discussion -- you can take a look at the current approach to build context.

And, because the point of the project is to shape the API, we want to exercise it as much as possible; if the API makes writing plugins in alternate first-class JVM languages unreasonably difficult or awkward, that information may help us to iterate on the API in a way that makes it less awkward overall. Writing the exact same plugin against the API in multiple languages could be a great way to find where it needs to improve 🙂

---

<div class="post-metadata">

**Author:** ![hvardhan](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/hvardhan/32/27795_2.png) [@hvardhan](https://discuss.elastic.co/u/hvardhan)\
**Post date:** [March 26, 2018, 6:15am UTC](https://discuss.elastic.co/t/contributing-to-logstash/120290/9 "2018-03-26T06:15:40Z")

</div>

I have added a draft proposal. Please take a look and let me know what you think. 🙂

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [November 4, 2022, 5:14am UTC](https://discuss.elastic.co/t/contributing-to-logstash/120290/10 "2022-11-04T05:14:17Z")

</div>


